fixdir('d'); sub fixdir { my $dir = shift; opendir my $DH, $dir or die "$dir: $!"; while (my $f = readdir $DH) { next if grep $_ eq $f, qw/. ../; (my $new = $f) =~ s/[^a-zA-Z0-9_.]/_/g; die "$f: $new already exists.\n" if -e "$dir/$new" and $new ne + $f; print STDERR "Renaming: $f -> $new\n"; rename "$dir/$f", "$dir/$new"; fixdir("$dir/$new") if -d "$dir/$new"; } }
In reply to Re^3: Transforming File Name Characters
by choroba
in thread Transforming File Name Characters
by rfleisch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |