File-Rename version 2.01
========================

This release is a step towards C<use v5.32> or C<use v7> compatibilty:
* use warnings
* avoid indirect syntax
* avoid bareword handles 

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<require File::Rename>. 

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.

In 1.991, added META data ExtUtils::MakeMaker => 7.36 
to BUILD_REQUIRES and CONFIGURE_REQUIRES

In 1.992, fixed bug #145711: installed script is missing shebang line
https://rt.cpan.org/Ticket/Display.html?id=145711

In 2.00, Build.PL does not build unsafe-rename, and was removed 

In 2.01: the min perl version is 5.8.0, and 
added source/rename source of rename script   

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make 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 minimum perl version for this 
distribution is 5.8.0 - the earlist Perl version which  
is known to work with recent versions of File::Rename 
is 5.8.8.

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, 2023
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.