Perl unter NT
Matthias
- perl
0 Uwe Ritter0 Rolf0 Thorsten Höser
Hallo,
ich versuche gerade ein Skript von UNIX auf NT umzusetzen, habe jedoch Probleme
damit. Vermute es liegt an der Pfadangabe. Unter Unix mußte ich den ganzen
Pfad vom Root aus angeben, wie muß ich das unter NT machen???
Gruss Matthias
Hallo Matthias,
vor kurzem habe ich es mit folgender erster Zeile im Skript geschafftt:
#!C:\perl\bin\perl.exe
Ist natuerlich entsprechend anzupassen...
Gruss
Uwe
Hallo,
ich versuche gerade ein Skript von UNIX auf NT umzusetzen, habe jedoch Probleme
damit. Vermute es liegt an der Pfadangabe. Unter Unix mußte ich den ganzen
Pfad vom Root aus angeben, wie muß ich das unter NT machen???Gruss Matthias
vor kurzem habe ich es mit folgender erster Zeile im Skript geschafftt:
#!C:\perl\bin\perl.exe
Bei NT muß man eigentlich gar nichts in die erste Zeile schreiben. (Falls dein perl richtig konfiguriert ist, sprich path und Dateinamenserweiterungsregistrierung - ihr wißt was ich mein - richtig gesetzt ist).
cgi
Hi Cgi!
Bei NT muß man eigentlich gar nichts in die erste Zeile schreiben. (Falls dein perl richtig konfiguriert ist, sprich path und Dateinamenserweiterungsregistrierung - ihr wißt was ich mein - richtig gesetzt ist).
Das ist zwar richtig, auch ohne die Einschraenkung in Klammern. In der Tat bringt diese Zeile, auch wenn
eine entsprechende Zuordnung der Extension nicht vorhanden ist, auf Dos und WinNT ueberhaupt nichts.
Viele installieren sich Perl jedoch, um CGI-Scripte zu testen, wobei mit gutem Grund oft ein Apache als
Webserver zum Einsatz kommt. Und *der* interessiert sich sehr wohl fuer diese Zeile. Normalerweise
ueberaesst er es dem OS, zu entscheiden, *wie* eine Anwendung ausgefuehrt wird. Da Win da jedoch
nicht so gut mitspielt, haben die Programmierer kurzerhand die Interpretation der ersten Zeile in den
Windows-Apachen mit eingebaut. Er entscheidet also anhand dieser Zeile, auf welche Weise ein CGI-
Script ausgefuehrt wird. Aber eigentlich solltest Du das doch wissen, wenn Du diesen Namen traegst. ;-)
So long, Calocybe
Script ausgefuehrt wird. Aber eigentlich solltest Du das doch wissen, wenn Du diesen Namen traegst. ;-)
So long, Calocybe
Hi Calocybe,
diesen Namen trage ich eigentlich schon viel länger, als ich cgi kenne, da er die Abkürzung meines eigentlichen Nicks ist (c-gi = Siggi).
Danke für den Hinweis. So gesehen hast du natürlich recht.
cgi
Hi C-gi ;-)
diesen Namen trage ich eigentlich schon viel länger, als ich cgi kenne, da er die Abkürzung meines eigentlichen Nicks ist (c-gi = Siggi).
Oh. Daran hab ich nun wahrlich nicht gedacht. Kommt davon, wenn man sich zulange mit immer wieder denselben Sachen beschaeftigt. *g*
So long
Hallo,
ich versuche gerade ein Skript von UNIX auf NT umzusetzen, habe jedoch Probleme
damit. Vermute es liegt an der Pfadangabe. Unter Unix mußte ich den ganzen
Pfad vom Root aus angeben, wie muß ich das unter NT machen???
... im Prinzip genauso wie unter UNIX, bei NT ggf. den DriveLetter hinzufügen und anstelle des Backslash einen normalen Slash verwenden oder Backslash mit Backslash maskieren; Rolf
Hallo Matthias,
Du mußt in der Tat den ganzen Pfad eingeben. Perl speichert den lokalen Pfad des ausführende Skriptes übrigens in der Variable $0 ab.
Hier ein kleines Skript, welches über den Browser aufgerufen den lokalen Pfad (ohne den Skriptnamen) zurückgibt:
#!/usr/bin/perl -w
use CGI qw(:standard);
if ($0=~m#^(.*)\#) { $localpath = $1; }
elsif ($0=~m#^(.*)/# ) { $localpath = $1; }
else { pwd
=~ /(.*)/; $localpath = $1; }
print header;
print start_html;
print "Das lokale Verzeichnis ist: $localpath\n\n";
print end_html;