#!/usr/bin/perl -w sub usage { die "Usage: renumfiles <-fake> pattern [files ...]\n"; } if($ARGV[0] =~ /^--?f(?:ake)?$/) { $fake = 1; shift; } $num = 1; if($ARGV[0] =~ /^\d+$/) { $num = $ARGV[0]; shift; } $pattern = $ARGV[0] || usage; $pattern =~ s/\%d/%02d/; if($pattern !~ /\%\d+d/) { $pattern = "${pattern}_\%02d.jpg"; } shift; @files = @ARGV; usage unless @files; for(@files) { my $new = sprintf($pattern, $num); warn "'$_' => '$new'\n"; rename($_, $new) unless $fake; $num++; }