foreach my $file (@files){
...
mkdir(...) or die("...");
move(...) or die("...");
...
}
####
foreach my $file (@files){
...
mkdir(...) or do { warn("..."); next };
move(...) or do { warn("..."); next };
...
}
####
foreach my $file (@files){
if (!eval {
...
mkdir(...) or die("...");
move(...) or die("...");
...
1;
}) {
die("Error processing file $file: $@");
}
}
####
sub process_file {
my ($file) = @_;
...
mkdir(...) or die("...");
move(...) or die("...");
...
}
foreach my $file (@files){
if (!eval { process_file($file); 1 }) {
die("Error processing file $file: $@");
}
}