Thread Statuswert-Rückgabe von iptables (4 answers)
Opened by Studer at 2009-09-04 06:58

nepos
 2009-09-04 08:21
#125408 #125408
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Du benutzt system() falsch. Das liefert dir nicht die Ausgaben des Programms, das du damit startest, sondern einen Exit-Code. Schau dir mal -f system dazu an.
Was du eher brauchst sind Backticks bzw qx oder eine Pipe, von der du lesen kannst:
Code (perl): (dl )
my $ipt_out = `iptables -L abc`;

oder
Code (perl): (dl )
my $ipt_out = qx{iptables -L abc};

oder:
Code (perl): (dl )
1
2
3
4
5
6
open(my $pipe, "iptables -L abc |") or die "Error executing iptables: $!";
while (defined(my $line = <$pipe>)) {
   ...
}
close($pipe)
   or warn $! ? "Error closing pipe: $!" : "Exit code of iptables: $?";

View full thread Statuswert-Rückgabe von iptables