Linux 14.981 Themen, 106.344 Beiträge

Mein Perl-Programm will nicht starten!

NeoZeroCool / 12 Antworten / Flachansicht Nickles

Hi,
habe kürzlich mein erstes Perl-Proggi geschrieben (ein sagenhaftes "Hallo Welt"-Programm ;-), um mal zu testen, ob mein Perl (unter SUSE 7.2) richtig installiert ist.
Wenn das Programm mit
> perl HalloWelt.pl
aufgerufen wird, läuft es anstandslos.
Versuche ich es jedoch über den Dateinamen zu starten mit
> HalloWelt.pl
bekomme ich die Fehlermeldung
> bash: HalloWelt.pl: command not found

Mein Programm sieht folgendermaßen aus:
#!/usr/bin/perl -w
print ("Hallo Welt!\\\\n")

Die Fakten kurz und bündig:
- Beim Ausführen von HalloWelt.pl befinde ich mich im richtigen Verzeichnis
- Das Execute-Bit von HalloWelt.pl ist gesetzt
- Die Perl-Programmdatei befindet sich tatsächlich in usr/bin
- Das die bash von SUSE 7.2 mit #! nicht zurecht kommt, kann ich mir nicht vorstellen
- Interessant: Starte ich HalloWelt.pl über den Midnight Commander wird das Programm anstandlos ausgeführt

Also wo liegt das Problem?

HtM
NZC

bei Antwort benachrichtigen
Bundeskanzler Klaus_T „Ja, sorry, habe gerade noch einmal nachgelesen, dass perl in /usr/bin liegt. Ich...“
Optionen

Hihi,
lustige Privatunterhaltung. Hoffentlich langweilen wir euch nicht!

> Befindest du dich in dem Verzeichnis, in dem das Script ist, kannst du das Script nur aufrufen, wenn du entweder ./ davor setzt oder den Punkt '.' in $PATH mit aufnimmst.

Stimmt doch nicht.

$ which hostname
/bin/hostname
$ cd /bin
$ hostname
horse

Mein $PATH liste ich jetzt hier nicht, du wirst mir aber glauben, dass "." nicht darin vorkommt.
Anders ausgedrückt: Die Auswertung der Umgebungsvariable $PATH hängt nicht davon ab, in welchem Verzeichnis ich mich befinde. Ich bin selber durch die Diskussion nochmal unsicher geworden und habe es daher mit tcsh und bash ausprobiert.

Bundeskanzler

bei Antwort benachrichtigen