$ ls -l total 0 -rw-r--r-- 1 john john 0 Feb 1 20:28 four -rw-r--r-- 1 john john 0 Feb 1 20:28 one -rw-r--r-- 1 john john 0 Feb 1 20:28 two ? three $ perl -e '$counter = 0; for ( <*> ) { $old = $_; $new = "caption" . "$counter" . ".txt"; rename( $old, $new ); $counter++; }' $ ls -l total 0 -rw-r--r-- 1 john john 0 Feb 1 20:28 caption0.txt -rw-r--r-- 1 john john 0 Feb 1 20:28 caption1.txt -rw-r--r-- 1 john john 0 Feb 1 20:28 caption2.txt