Wenn Perl das so gefressen hat, hast Du weder warnings noch strict an und vermutlich noch jede Menge anderer Bugs im Code.
Die ersten zwei Zeilen jedes Perl-Script sollten
#!/usr/bin/perl -w
use strict;
sein, CGIs und andere Programme, die über das Internet erreichbar sind oder setuid/setgid laufen, sollten außerdem den Taint Mode einschalten (siehe auch perldoc perlsec):
#!/usr/bin/perl -T -w
use strict;
So lange die Kombination aus -w und strict Warnungen und/oder Fehler erzeugt, ist der Code nicht einwandfrei und wird mit hoher Wahrscheinlichkeit nicht das machen, was sich der Autor dachte.
Alexander