File-Rename version 1.99 ======================== **** INCOMPATIBLE CHANGES IN THIS VERSION **** * rename script requires options to appear before code/files * new script 'unsafe-rename' allows options and other arguments to be mixed * Build.PL does not build the new 'unsafe-rename' RENAME COMMAND File::Rename provides an implementation of Larry Wall's eg/rename command. All I have done is add some error checking and add the File/Rename.pm module. More options have been added. An earlier version of the script is out in the Internet and is included with some linuxes, and the original eg/rename is not included in the Perl distribution, so I have put this up on CPAN. A revised version of the earlier script is now on the Internet, which includes more options. This script, distinguished by "Getopt::Long::Configure('bundling')", was not written by me; I think the author is Aristotle Pagaltzis. Version 0.10 of this distribution has similar options to the revised script. For Windows, the script is called file-rename to avoid clashes with existing rename command. RECENT CHANGES In 1.00, File::Rename::Options is a separate module, and is not made visible by C. In 1.30, the File::Rename::Unicode module was added. In 1.99, the behaviour of requiring options to appear before code or files was reintroduced - this requirement was dropped in version 0.30. The 'no_require_order' functionality is regarded as unsafe but is available in the script unsafe-rename. Build.PL does not build unsafe-rename, and will be removed from 2.00 INSTALLATION To install this module type the following: perl Makefile.PL make make test make install or if you have Module::Build (but this does not create unsafe-rename) perl Build.PL perl Build perl Build test perl Build install DEPENDENCIES This module requires these other modules and libraries: File::Basename File::Path File::Spec Getopt::Long (all included with Perl). Unicode support depends on Perl version 5.12.0. Testing requires File::Temp and Test::More which are available with perl 5.6.0. I have successfully installed those modules for perl 5.005_05 and tested this module. Testing on earlier versions of Perl is now only done on CPAN Testers. The earlist Perl version which is known to work with recent versions of File::Rename is Perl version 5.8.9. UNICODE SUPPORT File::Rename is built round CORE::rename(), which expects filenames as octet strings. By default, File::Rename expects all filenames to be octet strings, with no special meanings for non-ascii octets. It is possible for the user-supplied code to treat the filenames as Perl strings consisting of unicode characters, while CORE::readme() and other file tests still working on octet strings. This is enabled with -u (--unicode). It is possible to specify the encoding of filenames, with: --unicode encoding. Filenames are decoded from octet strings to unicode strings before applying the user code, and then the resulting string is encoded for CORE::rename. upgrade filenames to unicode (encoded as utf8) by default. COPYRIGHT AND LICENCE Copyright (C) 2005, 2006, 2007, 2011, 2018, 2020, 2021, 2022 by Robin Barker This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.