Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Recursive directories

by rustic (Monk)
on Apr 02, 2014 at 13:53 UTC ( #1080777=note: print w/replies, xml ) Need Help??

in reply to Recursive directories

Thanks for the responses but I guess there's a bit you still miss.
I agree on the fact the make_path() will take one more argument though, my concern is why I do get different results if I do chdir and I when I don't after this line ?
And, of course I have the $path to be created defined somewhere before.
The reason I have called the subroutine as a class method was in first place due to the error:
Undefined subroutine &main::make_path called at when I go with:
use File::Path; make_path($path);
To fix this I had to either:
use File::Path 'make_path';
or, to call it as a class method.

Replies are listed 'Best First'.
Re^2: Recursive directories
by McA (Priest) on Apr 02, 2014 at 14:22 UTC

    Sorry, but I think you missed something:

    a) You must NOT use File::Path->make_path if you don't want to create directories named 'File::Path'. You can use

    use File::Path qw(make_path); make_path($dir);


    use File::Path; File::Path::make_path($dir);

    b) I can't see the reason for your chdir-problem from the three lines of code given. So you missed to provide some further context. At least you have to explain what you expected and what you got.


      I wouldn't still agree on the point a) I can run it the way I have written it without having created any "File::Path" directory. Something like that will work without problem:
      for (@list) { File::Path->make_path($path); }
      The problem strikes when I have to chdir into that directory to do something there, like create a file but that's not even necessary. This piece of code creates me the mentioned "File::Path" subdirectory compared to the above :
      for (@list) { File::Path->make_path($path); chdir $path or die "Cannot chdir: $!"; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1080777]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2018-05-25 05:55 GMT
Find Nodes?
    Voting Booth?