in reply to Re^2: cd pwd dir chdir version default directory
in thread cd pwd dir chdir version default directory

Yes, this is a chronic nuisance when writing portable Perl scripts under Windows. Because our scripts run on many different customer machines, we don't have the option of removing the autorun value from the Registry. There are two ways around this:

Replies are listed 'Best First'.
Re^4: cd pwd dir chdir version default directory
by halley (Prior) on Dec 04, 2007 at 14:29 UTC
    Contrive to execute the command without invoking a shell; for example, system { $exe } @args, where $exe is the executable name and @args are its arguments (see perldoc -f exec for more details).

    Just wanted to point out an aside, that for the "cd" command, the shell is the command interpreter. It's a built-in in most shells, CMD.EXE or bash or otherwise. There are other built-ins that apply to this pattern as well.

    Running a subprocess to change directories won't help the shell or other parent processes, of course, as the child's process is insular. To change directories in perl, also use the builtin (the chdir function).

    --
    [ e d @ h a l l e y . c c ]