Hi,
I did the best book purchase in years: The Perl Cookbook. They have an
example that seems to come right from Larry Wall himself. And I don't
get it. I can use it but I don't understand why it works with wildcards.
$op = shift or die "Usage: rename expr [files]\n";
chomp (@ARGV = <STDIN>) unless @ARGV;
for(@ARGV) {
$was = $_;
eval $op;
die $@ if $@;
rename ($was, $_) unless $was eq $_;
}
#rename.pl s/\.orig// httpd.conf.orig
will rename httpd.conf.orig to httpd.conf. But it also works with wildcards:
#rename.pl s/\.orig// *
will chop .orig from all files in the current directory.
So it assigns <STDIN> to @ARGV. But <STDIN> is just a * right? Does the
shell expand this, or perl? Any comments/detailed explanations welcome.
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/