http://qs1969.pair.com?node_id=829953


in reply to Re: rename 0.3 - now with two extra cupholders
in thread rename 0.3 - now with two extra cupholders

It never worked the way you remember, try adding use Win32::Autoglob;
perl -MWin32::Autoglob -le"print for @ARGV" *

Replies are listed 'Best First'.
Re^3: rename 0.3 - now with two extra cupholders
by Corion (Patriarch) on Mar 21, 2010 at 14:52 UTC

    ... or alternatively

    @ARGV = map { glob $_ } @ARGV;

    or, if you want sane whitespace handling,

    use File::Glob qw(bsd_glob); @ARGV = map { bsd_glob $_ } @ARGV;

    , optionally in a BEGIN block. But now, actually looking at the source of Win32::Autoglob, that's just what the module does. Thanks for pointing it out to me :).

      Not sure why he does a sort. glob always returns sorted on win32.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: rename 0.3 - now with two extra cupholders
by Ciantic (Initiate) on Mar 21, 2010 at 19:46 UTC

    That works, thanks! I must have tested it under sane OS back then. I'd like to list the complete procedure one is required to do under Windows to get Perl renaming work:

    1. Get strawberryperl, portable version is just fine (make sure that path to the strawberryperl does not have spaces!)

    2. Start strawberryperl command line. And run CPAN Win32::Autoglob (this installs the Autoglob)

    3. Copy code of above rename program to the C:\strawberryperl\perl\bin\renamer file (Windows has program called rename already, so don't use that name)

    5. Create copy of file C:\strawberryperl\perl\bin\runperl.bat as name renamer.bat (Contents of this file is not needed to change)

    6. Add use Win32::Autoglob; to the renaming code.

    Now you should have portable Perl capable renaming script to take with you.

    I know the steps I described above are routine tasks, but many times one just wants to rename files and not go through the hassle of learning to install Perl in Windows. So I wish my instruction will help someone.