Hi,
I wanted a script that would rename files from lower to upper case. I
have something but I am a bit worried about going live with it as I
can imagine there is plenty of room for error and I really don't want
to knacker my filesystem.
Could I get any comments of suggestion on what I have. I want
something safe/secure.
I am not sure about what would happen if it was passed more than one
argument. Should I allow more than one argument?
Are the any gotcha's to watch out for?
Thanx,
Dp.
=============== upper.pl===============
#!/usr/bin/perl -Tw
# upper.pl
# Upper case all lowercase file in a given directory.
use File::Copy;
use strict;
my $dir = shift;
my $found = 0;
opendir(DIR,$dir) or die "Can't open $dir: $!\n";
foreach my $name (sort grep !/^\./, readdir DIR) { # Credit Randal L.
Schwartz
if ($name =~ /[a-z]/) { # Look for lc file. Wot about
files
# with numbers??
++$found;
if ($dir !~ /\/$/) { # Add a slash if there is'nt
one
$dir = "$dir"."/";
}
(my $new = $name) =~ tr/[a-z]/[A-Z]/; # trans the
name
$name = "$dir"."$name";
$new = "$dir"."$new";
#mv("$name","$new") or die "Can't upper $name: $!\n";
print "$name -> $new\n";
}
}
print "Found $found lowercase files\n"
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>