in reply to Re^2: Create new directories
in thread Create new directories

One obvious problem -- put the mkdir inside the if statement:
if ($line =~ /mydir/) { $directory = ... mkdir $directory, 0775; }
You only want to call mkdir if the line matches.

Also, passing "\n" to mkdir doesn't make any sense here. The second argument to mkdir is a permission mode mask. See the comments on perldoc -f mkdir for more discussion on how this parameter works.

Finally, you should get accustom to using the three parameter version of open:

open(FILE, '<', $ARGV[0]);
This is much safer.

Replies are listed 'Best First'.
Re^4: Create new directories
by linuxer (Curate) on May 29, 2008 at 21:11 UTC

    and checking an open() for success is even safer:

    open FILE, '<', $ARGV[0] or die "$ARGV[0]: $!\n";

    In cases, that it can't open the file, it won't try to read from an unopened filehandle FILE, but end the script with an error message.