Mam problem z uzyskaniem wartości zwracanej przez polecenie unix do zmiennej perl.Jak poprawnie uchwycić zwracaną wartość polecenia unix?
Unix poleceń:
#nc -z 8.8.8.8 441; echo $?
1
Perl polecenie:
#perl -e 'my $pstate=`nc -z 8.8.8.8 441; echo $?`; print $pstate;'
0
Więc wydaje polecenie Perl, aby uzyskać wartości zwracanej "bez błędów"? Jak poprawnie uchwycić zwracaną wartość polecenia * nix?
Inny przykład:
#perl -e 'my $pstate=`ping -v 8.8.8.8 -c 1`; print $pstate;'
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
ta zwraca odpowiednią wartość. Co więc robię źle w pierwszej kolejności?
+1 za readpipe –
Ah. Założę się, że pojedyncze cudzysłowy uciekną przed '?' – Droidzone
Są one zwrotnymi, które różnią się od pojedynczych cudzysłowów. – mob