As of perl4.036, there is a certain amount of globbing that is passed out to the shell and not handled internally. The following code (which will, roughly, emulate ``chmod 0644 *'')
while (<*>) { chmod 0644, $_; }
is the equivalent of
open(FOO, "echo * | tr -s ' \t\r\f' '\\012\\012\\012\\012'|"); while () { chop; chmod 0644, $_; }
Until globbing is built into Perl, you will need to use some form of non-globbing work around.
Something like the following will work:
opendir(DIR,'.'); chmod 0644, grep(/\.c$/, readdir(DIR)); closedir(DIR); This example is taken directly from ``Programming Perl'' page 78.
If you've installed tcsh as /bin/csh, you'll never have this problem.
Other resources at this site: