
module-rename - Rename Perl module distributions

$ module-rename Old::Name New::Name Old-Name-Distro-Dir

Have you ever created a module distribution, only to realize later that the module hierarchary needed to be changed? All of a sudden, Cool::Frobnicator didn't sound cool anymore, but needed to be Util::Frobnicator instead?
Going through a module's distribution, changing all package names, variable names, and move the directories around can be a tedious task. Module::Rename comes with a script module-rename which takes care of all this:
$ ls
Cool-Frobnicator-0.01/
$ module-rename Cool::Frobnicator Util::Frobnicator Cool-Frobnicator-0.01
Cool-Frobnicator-0.01/lib/Cool is empty and can go away.
Done. The directory hierarchy has changed:
$ ls -R
Util-Frobnicator-0.01/
...
Util-Frobnicator-0.01/lib/Util/Frobnicator.pm
... and so has the content of all files:
$ grep "package" Util-Frobnicator-0.01/lib/Util/Frobnicator.pm
package Util::Frobnicator;
module-rename will rename files and replace their content, so make sure that you have a backup copy in case something goes horribly wrong.lib/Cool directory above. In this case, a warning will be issued:
Cool-Frobnicator-0.01/lib/Cool is empty and can go away.
and the 'empty' directory gets deleted (even if a CVS subdirectory is in there).


Copyright 2005 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

2005, Mike Schilli <cpan@perlmeister.com>