# log the whole process BEGIN { use CGI::Carp qw(carpout); my $errorlog = "/var/logs/log.txt"; open(LOG, ">$errorlog") or die("Unable to open $errorlog: $!\n"); print LOG "Errors:\n"; carpout(*LOG); } #### ............................................................ # move the file to the backup subfolder unless(move("$new", "/var/files/out/$subfolder_name")) { print STDERR "Oops! Couldn't move the file: $!"; } system("mv /var/files/info /var/files/out/$subfolder_name"); system("mv /var/logs/log.txt /var/files/out/$subfolder_name"); ............................................................