mmuegel@camdev.comm.mot.com (Michael S. Muegel) (02/26/91)
I have been trying to get chmod working with a non-numeric mode argument (e.g. a scalar variable). I seems that the following: chmod ($Mode, $File); does not work as expected. I think it is using the ASCII numerical values or the like. When I do a ls -l I get bits I did not even know existed! Now I think the answer invlolves using pack or vec, but then again, maybee not. Can anyone enlighten me? Thanks, -Mike -- +-----------------------------------------------------------------------------+ | Mike Muegel | Internet: mmuegel@mot.com | | Software Tools Group | UUCP: uunet!motcid!muegel | | Fort Worth Research & Development Center | Voice: (817) 232-6129 | | Cellular Infrastructure Group | Fax: (817) 232-6081 | | Radio Telephone and Systems Group | Mail: 5555 North Beach St. | | Motorola, Inc. | Fort Worth, TX 76137 | +-----------------------------------------------------------------------------+
tchrist@convex.COM (Tom Christiansen) (02/27/91)
From the keyboard of mmuegel@mot.com (Michael S. Muegel): :I have been trying to get chmod working with a non-numeric mode argument :(e.g. a scalar variable). I seems that the following: : : chmod ($Mode, $File); : :does not work as expected. I think it is using the ASCII numerical values :or the like. When I do a ls -l I get bits I did not even know existed! If what's really happening is what I think is happening, consider this: print "mode? "; chop($Mode = <STDIN>); printf "mode is %04o\n", $Mode; chmod $Mode, $File; This may clear some things up. If your mode is not a literal, like this: $Mode = 0644; then you'll have to octify it: $Mode = oct($Mode); --tom -- "UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things." -- Doug Gwyn Tom Christiansen tchrist@convex.com convex!tchrist