zum Error Handling:
Der folgende Block schreibt Warnings in ein File im gleichen directory wie dein Script. Das ist praktisch. Dann musst du nicht die relevanten Errors erst aussortieren aus der allgemeinen error.log
BEGIN {
use CGI::Carp qw(carpout);
open(LOG, ">>error.txt") or die "Unable to append to error.txt: $!\n";
carpout(*LOG);
}