|
Тема |
Re: Брой прилагания на regexp substitutuion [re: Perl newbie] |
|
Автор |
sdg (shebang addict) |
|
Публикувано | 17.02.05 16:21 |
|
|
my ($filename, $lastmatchstart, $newfilename);
opendir D, "." || die "Cannot open current dir: $!\n";
while ($newfilename = $filename = readdir D) # get the file name
{
next if ($filename eq "." || $filename eq ".."); # bail out if curdir or parentdir
while ($newfilename =~ m/\./g) { $lastmatchstart = $-[0]; } # remember offset of beginning of last match; perldoc perlvar is your friend
$newfilename =~ s/\./_/g; # replace all dots with underscores
$newfilename = substr($newfilename, 0, $lastmatchstart) . "." . substr($newfilename, $lastmatchstart + 1, length($newfilename) - 1); # replace last matched dot with underscore
rename $filename, $newfilename; # rename file
}
closedir D;
RTFM!
--sdg
|
| |
|
|
|