file1 file2 file3 #### file1 new-file-1 file2 new-file-2 file3 new-file-3 #### while (<>) { chomp; ... derive $new from $_ ... print $_, ' --> ', $new, "\n"; # use ' --> ' as the delimiter } #### while (<>) { chomp; my ($old, $new) = split(' --> ', $_, 2); unless (rename $old, $new) { warn "unable to rename $old to $new: $!\n"; } }