Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: File::Find: Problem with renaming folders recursively

by larus (Acolyte)
on Mar 23, 2009 at 12:39 UTC ( #752568=note: print w/replies, xml ) Need Help??

in reply to File::Find: Problem with renaming folders recursively

I found a solution, this works fine:
#!/bin/perl use warnings; use strict; use File::Find; use File::Copy; my $path = $ARGV[0]; my $from = $ARGV[1]; my $to = $ARGV[2]; die "You must supply a full directory path" unless (-e $path && -d $pa +th); finddepth(\&renamedir, "$path"); # find -> finddepth sub renamedir { return if -f $_; return if /^\./; my $new_name = $_; $new_name =~ s/$from/$to/g; move($_, $new_name) or die $!; }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://752568]
[Your Mother]: Stick with what you know. Or post a SOPW and if it's not complicated I guarantee someone will answer; me if it's straightforward and no one else gets it better first.
[1nickt]: ++YourMother (Grammar Vigilante of Bristol)
[Lady_Aleena]: Um, how does grep do multiline? print "$file:$_" if grep { /get_(array|hash| data)\(.+\)/ } $_; only returns the same 18 lines the command line grep does.
[Lady_Aleena]: my scratchpad has what I have so far.
[choroba]: what do you mean by multiline?
[Discipulus]: thanks 1nickt!
[choroba]: grep is a filter, it selects elements from a list based on a boolean condition
[moritz]: you need to read the file in one go to do a multiline regex match
[erix]: ha ha, I like the Vigilante
[Lady_Aleena]: Forget it. I'm getting angry with it.

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (11)
As of 2017-05-23 19:51 GMT
Find Nodes?
    Voting Booth?