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


in reply to Re: rename - an improved version of the script which comes with Perl
in thread rename 0.2 - an improved version of the script which comes with Perl

You're right about the shell metacharacters - and their substitution should really happen along with the control characters. I don't know why I thought [:cntrl:] would include them, it logically doesn't. To me the space is more than just another metacharacter - it breaks more things than the others. (Trivially fixed, contrived example: for F in * ; do ls $F ; done)

You can bundle short options, as you can see from the source - Getopt::Long::Configure('bundling', 'no_ignore_case');. But you can't specify downcasing independently - that's why I included it by having a third -z. Besides, I kinda liked the -zzz visual.. maybe I should add a -Z option as well? ;^) Now that I think about it though, maybe sanitizing names should indeed not be a simple option, not a mode.

I also discovered another independent derivative of Larry's rename script on CPAN just after I posted this one, with rather different goals (and pretty messy innards).

So there's plenty of things to move around and more yet to add. Expect a New And Improved version in the near future. :) (For now, this version scratches me quite excellently, and I have other things to do, so the pressure is low.)

Makeshifts last the longest.