Schrift
[thread]8943[/thread]

Umgebungsvar mit PERL setzen: Arbeiten in batchdateien



<< >> 5 Einträge, 1 Seite
Gast Gast
 2007-04-25 14:48
#76226 #76226
Hallo PERL-Forum,
ich möchte unter WinXP in einer Batchdatei eine Umgebungsvariable setzen (set ...).
Dafür will ich ein Perlprogramm verwenden (welches ich in der Batchdatei aufrufe), d.h. perl soll einen Wert an die Batchroutine zurückgeben.

Könnt ihr mir sagen wie das geht und mir bei meinem ersten PERL-Programm auf die Sprünge helfen?

Gruss
Deepblue
GwenDragon
 2007-04-25 16:21
#76227 #76227
User since
2005-01-17
14787 Artikel
Admin1
[Homepage]
user image
Perl kann keine Umgebungsvariablen des aufrufenden Skripts ändern.
Froschpopo
 2007-04-25 16:25
#76228 #76228
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
hm du könntest ja eine temporäre datei und so die variablen cachen. später könntest du dann von beiden programmen aus auf den cache zugreifen und dessen inhalt ändern.\n\n

<!--EDIT|Froschpopo|1177504142-->
nepos
 2007-04-25 16:48
#76229 #76229
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, wenn Perl nur den Wert der Umgebungsvariable bestimmen soll, dann sollte es eigentlich möglich sein, die Ausgabe des Skriptes als Wert für die Umgebungsvariable zu benutzen, wie man es z.B. in der Bash unter Linux machen kann:
Code: (dl )
1
2
#!/bin/bash
VAR=`dein_perl_script.pl`

Wie man das nun unter Windows macht, da bin ich leider überfragt, funktionieren sollte es jedoch irgendwie.
GwenDragon
 2007-04-25 17:07
#76230 #76230
User since
2005-01-17
14787 Artikel
Admin1
[Homepage]
user image
Gruselig, aber geht:
Code: (dl )
FOR /F usebackq %i IN (`meinperl.pl`) DO set UMGEBUNGSVAR1=%i


C:\>echo print 123; > t.pl
C:\>FOR /F usebackq %i IN (`t.pl`) DO set A1=%i

C:\>set A1=123


Deswegen verwende ich immer gern entweder bash (besser als CMD.EXE) oder gleich perl unter windows.\n\n

<!--EDIT|GwenDragon|1177506646-->
<< >> 5 Einträge, 1 Seite



View all threads created 2007-04-25 14:48.