#!/usr/bin/perl -w
# rename_cb - mass rename files by Larry Wall (from Perl CookBook 2nd edition)
$op = shift or die <<'EOUSAGE';
Usage: rename_cb expr [files]
Examples:
    rename_cb 's/\.orig$//' *.orig
    rename_cb "tr/A-Z/a-z/ unless /^Make/" *
    rename_cb 'use locale; $_ = lc($_) unless /^Make/' *
    rename_cb '$_ .= ".bad"' *.f
    rename_cb 'print "$_: "; s/foo/bar/ if <STDIN> =~ /^y/i' *
    find /tmp -name "*~" -print | rename_cb 's/^(.+)~$/.#$1/'
EOUSAGE
chomp(@ARGV = <STDIN>) unless @ARGV;
for (@ARGV) {
    $was = $_;
    eval $op;
    die $@ if $@;
    if ($was ne $_) {
        warn "overwriting $_\n" if -e $_;
        rename($was, $_) or warn "rename($_): $!\n";
    }
}
