Also WO sind Deine Module oder weiteren Skripte, die Du mit require() einbindest, und WAS gibt @INC aus?
die liegen im Verzeichnis in dem auch das aufrufende Perl-Script liegt. Teils in Unterverzeichnissen davon
und das ist /xampp/cgi-bin? Oder ein anderes Verzeichnis?
Bedenke, dass (wenn sich nichts geändert hat, ich habe Xampp 1.7.2) das cgi-bin sich außerhalb des DOCUMENT_ROOT befindet (/xampp/htdocs).
Da wir nicht wissen, wie Du was konfiguriert (oder nicht) hast, ist Hilfe hier schwer zu leisten.
Vielleicht bringen Dir die Ausgaben von Cwd oder FindBin ($FindBin::Bin) weiter...
Ich hab übrigens grade activeperl runtergeladen und installiert und anschließend das script von der kommandozeile aus gestartet - und siehe da - es läuft anstandslos durch.
Na jetzt könntest Du ScriptInterpreterSource registry in die httpd.conf notieren, wird vermutlich, wenn Du allen Anschein nach ein Pfad-Problem hast, nicht viel helfen.
Nur der Apache, Mod-Perl und XAMPP wollen das nicht begreifen! :)
mod_perl habe ich deaktiviert.
P.