> -----Original Message----- > From: Dermot Paikkos [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 27, 2005 6:07 AM > To: beginners@perl.org > Subject: Is this script safe? > > 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
Alternatively, you could use the 'uc' function instead of 'tr'. perldoc -f uc > 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> > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>