for my $new ( <*.puz> ){ my $old = $new; $new =~ s/(\.puz)$/A$1/; $new = 'subdir/' . $new; rename $old, $new; }