http://www.perlmonks.org?node_id=847883

Mad_Mac has asked for the wisdom of the Perl Monks concerning the following question:

I'm still fairly new to Perl. I'm working through some basics to improve my understanding. I tried to use Larry Wall's Perl rename script, but keep getting an error.

#!/usr/bin/perl -w $op = shift or die "Usage: rename expr [files]\n"; chomp(@ARGV = <STDIN>) unless @ARGV; for ( @ARGV ) { $was = $_; eval $op; die $@ if $@; rename ( $was, $_ ) unless $was eq $_; }

I have a directory of file titled something like "Blah Blah - 01 - Peter.txt" and "Blah Blah - 02 - Lois.txt", etc. I want to strip off the "Blah Blah - 01 - " part, so I tried the following commands:

perl rename.pl 's/Blah Blah - \d{2} - //' * perl rename.pl 's/^Blah Blah - \d{2} - //' *

and a couple of other variations. Each time I get the same error:

Can't find string terminator "'" anywhere before EOF at (eval 1) line 1

Am I doing something really stupid here? Did I copy the code wrong? Is something wrong with my regex?

I'm using Strawberry Perl 5.10.1 on W7 x64.

Thanks.