I'm running OS 9.2.2. In MacPerl 5.2.0r4 I was able to "chdir" to "::" from the volume level and operate as if I was above the volume level -- e.g. <*> would return a list of volumes (e.g. hard drive and CD name).
This doesn't seem to work in MacPerl 5.6.1r2. Is there some syntax I can use other than 'chdir "::"' that will allow me to chdir to "above the volume level" in MacPerl 5.6.1r2? Thanks. //dave Details: Here is the output from the same script run under each version of MacPerl: ====================================================================== MacPerl 5.2.0r4 Application, Perl version 5.004 pwd is: iMac 700 HD: OurData:Dave:Perl scripts $newpwd is: :::: Attempting to: chdir "::::" Success! `pwd` returns: "iMac 700 HD: " Attempting to: chdir "::" Success! `pwd` returns: " " List of files (volumes) at this level with <*>: iMac 700 HD: Photos - Nadine/Juanita/Dad: ====================================================================== MacPerl 5.6.1r2 Application, Perl version 5.006001 pwd is: iMac 700 HD: OurData:Dave:Perl scripts: $newpwd is: :::: Attempting to: chdir "::::" Success! `pwd` returns: "iMac 700 HD: " Attempting to: chdir "::" # No such file or directory ====================================================================== and here's the MacPerl script that generated that output: #!perl -w print "=" x 70, "\n"; print qq|MacPerl $MacPerl::Version, Perl version $]\n\n|; print "pwd is: ", `pwd`; chomp($newpwd = `pwd`); # Add trailing : if not returned by `pwd` for diffs in MacPerl versions. $newpwd =~ s/$/:/ unless ($newpwd =~ /:$/); # Eliminate everything in the path but the colons, to get to the volume. $newpwd =~ s/[^:]*(:)[^:]*/$1/g; print qq|\$newpwd is: $newpwd\n|; print qq|\nAttempting to: chdir "$newpwd"\n|; if (chdir "$newpwd") { print qq|Success! \`pwd\` returns: "|, `pwd`, qq|"\n|; } else { warn "$!\n"; } print qq|\nAttempting to: chdir "::"\n|; if (chdir "::") { print qq|Success! \`pwd\` returns: "|, `pwd`, qq|"\n|; # Print results of a glob if chdir was successful to "root". print "List of files (volumes) at this level with <*>: \n"; print map { "$_\n" } <*>; } else { warn "$!\n"; } print "\n";