Das klingt schon nach fehlerhaften Zeilenumbrüchen.
Windows verwendet
\x0d\x0a
Linux verwendet
\x0a
Wenn eine Datei mit Windows-Umbrüchen interpretiert werden soll, bleibt das
\0xd eben Bestandteil einer Zeile.
Bei einer gewünschten Shebang von
/usr/bin/perl wird das dann als
/usr/bin/perl\x0d gelesen.
Dann wird dieser Pfad aufgelöst und eben nicht gefunden.
Wenn Du eine Option angibst, steht das unerwünschte
\x0d hinter den Optionen und die Pfadangabe wird korrekt aufgelöst. Dann hängt es am Interpreter, der über die Shebang aufgerufen wird, was dieser aus dem überflüssigen
\x0d macht.
Daher funktioniert es mit
/usr/bin/perl -w, aber nicht mit
/usr/bin/perl .
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!