On Sam, 23 Nov 2002 at 21:23 (+0100), Alfred Poschmann wrote: [...]
In Davids Original-Script läuft das ohne grep: --- open(IFC, "/sbin/ifconfig $iface|") or die "Can't run ifconfig: $!\n"; while(<IFC>) { if(/inet Adresse:([0-9.]*)/) {
Dats Perl, die Zeile ist quasi ein Perl-grep (nur schicker ;-)
$newip = $1; } } close(IFC); ----
Funktioniert aber trotzdem nicht.
Oops.
Dafür ist aber ein Pipe-Zeichen drin. Also doch ein Test ohne grep und pipe direkt in eine Datei ... und es klappt. Und btw. es heißt hier "inet addr".
Genau _das_ meinte Adalbert!
Warum kann ich nicht mehr pipen?
IMHO liegt es exakt an dem, was Adalbert vermutet. Es ist nicht die Pipe oder sonstwer dran schuld, sondern der Umstand, dass da offenbar die englische Ausgabe von ifconfig zuschlägt. Erweitere einfach mal Davids Script wie folgt: <schnipp> open(IFC, "/sbin/ifconfig $iface|") or die "Can't run ifconfig: $!\n"; while(<IFC>) { if(/inet Adresse:([0-9.]*)/ || /inet addr:([0-9.]*)/) { $newip = $1; } } close(IFC); <schnapp> Dann sollte es eigentlich klappen (der Mustervergleich sucht jetzt sowohl die deutsche als auch die englische Ausgabe) Jan