[boulder.pm] Perl question
Bob Collins
bcollins at csd.net
Fri Mar 31 16:27:36 CST 2000
> "Micah R. Condon" wrote:
>
> Hi Bob -
>
> The problem is in your command line arguments:
> you don't need quotes around the 'tr/A-Z/a-z / unless /^Make/' - with
> the quotes in place, my system would just see a string but not try to
> evaluate the translation. Without the quotes, it worked for me.
>
> the 'unless /^Make/' part excludes any files that begin with 'Make',
> like Makefile.pl
>
> the command perl -d name AB.C ab.c wouldn't work with this script,
> because 'AB.C' would be seen as a command to evaluate, rather than as
> a filename. Instead, you'd want to use something like this:
>
> #!/usr/bin/perl -w
> # rename - Micah's filename fixer :-)
> $file1 = shift;
> $file2 = shift;
> rename($file1,$file2) unless $file1 eq $file2;
>
> You could also set $op = 'tr/A-Z/a-z'; instead of always supplying a
> command line argument
>
> Hope that helps!
>
> Micah R. Condon, Owner
> Webdezyne: Affordable Custom Web Programming
> ----------------------------------------------------------------------
>
> http://www.webdezyne.com * micahc at webdezyne.com * 1-800-863-2740
>
> -----Original Message-----
> From: owner-boulder-pm-list at pm.org
> [mailto:owner-boulder-pm-list at pm.org]On Behalf Of Bob Collins
> Sent: Friday, March 31, 2000 2:41 PM
> To: undisclosed-recipients:;
> Subject: [boulder.pm] Perl question
>
> I have a number files I want to rename to lower case, so I went my
> "Perl
> Cookbook" and found exactly what I needed, "rename" on page 327 in my
> book. The "rename" script is sent as an attachment. The script can
> be
> executed as:
>
> rename 'tr/A-Z/a-z/ unless /^Make/' *
>
> This should change files to lowercase. If you understand the " unless
> /^Make/ " part I would be interested in an explanation.
>
> I am trying to get it to work in it's simplest form, "rename file.name
> newfile.name". I create a file AB.C and try to rename it to ab.c by
> executing:
>
> perl -d name AB.C ab.c
>
> I watch it step throug with no errors. The script terminates without
> changing anything because $was is equal to $_. Which it is set to in
> the script.
>
> This script is attributed to Larry Wall, but I think something must be
> missing or incorrect in the script.
>
> Help will be appreciated, I have spent a great deal of time on it with
> no success.
>
> --
> Regards,
> Bob Collins
> Mailto:bcollins at csd.net
--
Regards,
Bob Collins
Mailto:bcollins at csd.net
More information about the Boulder-pm
mailing list