Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7355[/thread]

Skript als Parameter ausführen: Wie kann ich perl-e als Parameter nutzen



<< >> 5 Einträge, 1 Seite
Gast Gast
 2005-10-15 20:07
#58876 #58876
Hallo Community,

mein Problem hat weniger mit Perl - mehr mit Windows zu tun:
Ich will ein Programm in der Eingabeaufforderung aufrufen und als Parameter perl -e übergeben. Also ungefähr so: (diese Syntax-Variante funktioniert, wie ich gelesen habe, für Linux)

Code: (dl )
\Benedikt>programm.exe `perl -e 'print "abc" x 3'`


Ist jetzt nur ein Beispiel damit ihr wisst, worum es mir geht. In dem Beispiel würde dem Programm "programm.exe" drei mal "abc" als Parameter übergeben.
Nur wie funktioniert sowas in der Eingabeaufforderung unter Windows.

Vielen Dank im Vorraus
Benedikt
GwenDragon
 2005-10-15 20:13
#58877 #58877
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
.
Code: (dl )
perl -e 'print "abc" x 3' | programm.exe


Ach nee, die bsch... COMMAND-Shell kann das wegen der Anführungszeichen nicht

//EDIT:
Code: (dl )
perl -e "print 'abc' x 3" | programm.exe

So gehts wohl.\n\n

<!--EDIT|GwenDragon|1129393775-->
betterworld
 2005-10-15 20:33
#58878 #58878
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
GwenDragons Variante unterscheidet sich von der urspruenglichen Variante darin, dass "abcabcabc" nicht als Parameter, sondern als Eingabe uebergeben wird. Einen besseren Vorschlag habe ich aber auch nicht.\n\n

<!--EDIT|betterworld|1129394248-->
betterworld
 2005-10-15 20:39
#58879 #58879
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Oder wie waere es mit
Code: (dl )
perl -e "system('programm.exe '.'abc' x 3)"
?
Benedikt
 2005-10-16 01:46
#58880 #58880
User since
2005-10-16
4 Artikel
BenutzerIn
[default_avatar]
Hallo,

erst einmal vielen Dank für eure Hilfe.
Code: (dl )
perl -e "print 'abc' x 3" | programm.exe

hat leider genauso wenig funktioniert wie
Code: (dl )
programm.exe < perl -e [...]

... also denke nicht, dass das mit Windows/Dos so einfach geht wie mit Linux
Code: (dl )
perl -e "system('programm.exe ' . 'abc' x 3)"

ist aber eine elegante Lösung, das Problem zu umgehen ... so mach ichs auch

Vielen Dank nochmal
Benedikt
<< >> 5 Einträge, 1 Seite



View all threads created 2005-10-15 20:07.