#!/usr/bin/perl -w # # rename - larry's filename fixer # small script from the "perl cookbook" # # examples: % rename 's/\.orig$//' *.orig # % rename 'tr/A-Z/a-Z/ unless /^Make/' * # % rename '$_ .= "bad"' *.f # % rename 'print "$_: "; s/foo/bar/ if =~ /^y/i' * # % find /tmp -name '*~' -print | rename 's/^(.+)~$/.#$1/' use strict; my $op = shift or die "Usage: rename expr [files]\n"; chomp(@ARGV = ) unless @ARGV; for (@ARGV) { my $was = $_; eval $op; die $@ if $@; rename($was,$_) unless $was eq $_; }