[lug] Perl question

Ken Weinert kweinert at earthlink.net
Fri Mar 31 15:00:54 MST 2000


* Bob Collins (bcollins at csd.net) [000331 14:50]:
> 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.

        Well, I can help on the "unless" part - on unix the name
of the makefile is typically Makefile, with the leading capitalization
in order to make it sort toward the start of a directory listing.

        I'm not a perl guru, no matter how you stretch your imagination,
but I think you were executing it wrong - you didn't want AB.c ab.c -
you aren't telling it what to rename it, just giving it a pattern to
match.

        Maybe I just misunderstood what you wrote in your email :-), but
I think all you'd need is "perl -d name AB.c" and that one file would
get renamed. If you type "perl -d name *" then all the files would get
renamed to their lowercase version (except Makefiles, of course.)

-- 
Ken Weinert   kweinert at earthlink.net 303-858-6956 (V) 978-336-5652 (F)
PGP: DF 2B 6C 72 33 BE 06 D1  9D C4 ED 32 36 97 C0 6E







More information about the LUG mailing list