Thread Statuswert-Rückgabe von iptables
(4 answers)
Opened by Studer at 2009-09-04 06:58
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: $?"; |