Calocybe: Ausgabe von aufgerufenen Programmen

Beitrag lesen

Hallo!

my $ergebnis = /bin/ping -c 192.168.11.2

Das schreibt die Ausgabe des Kommandos in die Variable $ergebnis - genau so, wie man das auch in einer UNIX-shell tun würde.

Yepp, man nennt es Kommandosubstitution. Ich moechte in diesem Zusammenhang auf ein Problem hinweisen, das ich mal hatte. Siehe dazu <../../sfarchiv/1999_2/t02844.htm> (das Problem) und <../../sfarchiv/1999_2/t03170.htm> (die Loesung). Wenn eine bestimmte Einstellung fehlt, kommt der MS-IIS4 nicht mit der Umleitung der Ausgabe (I/O Redirection). Leider gibt es diese Einstellung defaultmaessig nicht, und dann hat MS in seiner unendlichen Weisheit die Einstellungen fuer den IIS4 nicht etwa in der Registry abgelegt (in ASCII files ja sowieso nicht), nein das waere ja viel zu einfach! Jetzt muss man die Einstellungen in der sogenannten Metabase machen. Na gut, koennte man die ja aendern. Aber nicht so voreilig! Bitte erst den WSH (Windows Scripting Host) installieren, sonst kann man die nicht anfassen! All das ausfuehrlich auf http://www.whitecrow.demon.co.uk/steve/perlfaq/io.html. Microsoft!!!*&%*$^!~

Mich würde zudem interessieren, ob die pipe-Lösung auch auf Windows läuft und nicht nur auf UNIX. Die "backticks" scheinen auf beidem zu funktionieren.

Warum nicht? Allerdings wird evtl. auch hier das oben genannte Problem auftreten. Das ist aber ein rein IIS4-spezifisches Problem (nur Version 4). Auf der WinNT-Kommandozeile funzt das wunderbar. (Pipe nicht getestet, aber Kommandosubstitution auf jeden Fall.)

Calocybe