#!/usr/bin/perl -w use strict; my $newdir ="something"; foreach my $file (glob "*.txt") { rename $file, "$newdir/$file" or warn "rename $file to $newfile failed: $!\n"; } # $file will still exist if rename fails