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>