Rod Za wrote: > Hi all, > > i'm trying to make a code that get a file name (with full path) and > change the first char of the filename. Someone can say me if there's > a better way to do this?: > > _BEGIN_ > #!/usr/bin/perl -w
use strict; > my($file) = $ARGV[0]; #receives the filename my $file = shift; (the traditional idiom) > my @tmp = split(/\//,$file); #split the path use File::Basename; my ($name, $path) = fileparse($file); (more portable) > $tmp[$#tmp] =~ s/.(\w+)/c$1/g; #change the first char of the > filename substr($name, 0, 1) = 'c'; (no need for regex) > my $IPPFile = join('/',@tmp); #join again path+'/'+filename > print "Original Filename: $file - Changed Filename: $IPPFile\n"; > #print the result _END_ use File::Spec print "Original name: ", $file, " Changed name: ", File::Spec->catfile($path, $name), "\n"; You might also have a look at the ubiquitous (and ancient) perl "rename" script: http://www.cpan.org/scripts/nutshell/ch6/rename -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>