David Gilden wrote:
>
> Greetings,
Hello,
> I want to do the result of a substitution to $newname,
> but do not have it correct.
>
> #!/usr/bin/perl
use warnings;
use strict;
> # rename from the Terminal OSX
>
> $orig = "tina-o1.jpg";
>
> ($orig = $newname) =~ s/tina/quest/ig;
You are assigning $newname which is undef to $orig and then performing
the substitution on $orig. You need to reverse the assignment and
assign $orig to $newname for that to work correctly.
> print $newname;
>
> __END__
>
> Then I would like to run from the command line the following:
> (OSX flie re-namer)
You may already have a rename command. To find out use which:
which rename
> my @files = <>;
Reading a list from <> implies that each member of the list will have a
trailing newline.
chomp( my @files = <> );
> @files = sort @files;
Do you really need to sort?
> foreach(@files){
> my $newname;
> ( $newname = $_) =~ s/PIC1000/NEWNAME/;
You should verify that the new file name does not already exist or you
will overwrite that file.
if ( -e $newname ) {
warn "Cannot rename $_ to $newname, it already exists.\n";
next;
}
> rename($_, "$newname");
You should verify that rename was successful.
rename $_, $newname or warn "Cannot rename $_: $!";
> }
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>