Archiv verlassen und diese Seite im Standarddesign anzeigen : [Perl] Skriptname herausfinden
ThorstenHirsch
28-06-2005, 16:06
Servus!
Ich muss in verschiedenen Subfunktionen auf den Namen meines Perl-Skripts zurückgreifen. Leider steht in $0 dann nur noch "noname" und nicht mehr der wirkliche Name. Weiß jemand warum sich das ändert? ...und wie ich narrensicher den Skriptname heraufsfinden kann?
Gruß
Thorsten
michael.sprick
28-06-2005, 17:15
Das sich der Inhalt von $0 ändert ist mir noch nie passiert, aber versuch mal ob
print __FILE__ ;
ebenfalls "noname" ausgibt.
Ansonsten wäre das Skript mal sehr interessant um herauszufinden, ab wann sich der Skriptname ändert...
ThorstenHirsch
28-06-2005, 23:40
Danke, probier ich morgen gleich mal aus.
ThorstenHirsch
29-06-2005, 15:45
Arrrgh, aua!
Also: ich hatte mir dummerweise nicht $0 direkt anzeigen lassen, sondern mit ner tollen RegEx den Inhalt von $0 von führenden '/' befreit um wirklich nur den Skriptname zu erhalten.
Das hat so gut geklappt, dass ich ganz vergessen hatte, dass wenn er aus $0 mit dieser RegEx nicht den Name herausfiltern kann, er ein "noname" zurückliefert. Naja und dann bin ich mit meinen Skripten auf einen Win-Rechner gekommen, wo nicht '/' rausgefiltert werden müssen sondern '\' und da hat diese RegEx versagt weshalb ich "noname" bekam.
Ein typischer Fall von PEBKAC also.
Sorry.
Thorsten
michael.sprick
29-06-2005, 16:24
:D
Kann passieren. Ansonsten habe ich rausgefunden, dass Childprozesse evtl. nicht den korrekten Namen in $0 haben. Das hängt angeblich von der Implentierung von 'ps' ab - reproduzieren konnte ich es allerdings nicht.
ThorstenHirsch
29-06-2005, 19:16
Vielen Dank für die Müh', die ich gemacht hab'.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.