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>


Reply via email to