Portál AbcLinuxu, 13. května 2025 03:47
open F, '>/tmp/vysledek.txt'; print F "Hello world!\n"; close F;
#!/usr/bin/perl $par="20"; for ($i=1;$i<255;$i++) { if (qx[program -parametry $par.$i ] ) { } } a jak to tam nejak sikovne zakomponovat (to je to oc tu bezi) open F, '>/home/user/Desktop/vysledek.txt'; print F ""; close F; protoze program vypisuje stale jen do shellu :(diky
if ($result = qx[program -parametry $par.$i ] ) { print FILE $result; }Jestli
program
vypisuje něco na STDERR, tak to musíte/chcete přeměrovat...
open F, ">vysledek.txt"; select F;a pak uplne na konci napisete
close F;Nic vic menit nemusite (pokud program nevypisuje na STDERR, jak tady bylo spravne poznamenano).
#!/usr/bin/perl open F, "> vysledek.txt"; select F; $inet="192.168.0"; for ($i=1;$i<68;$i++) { if (qx[ping -c1 $inet.$i] ) { close F; } }diky
#!/usr/bin/perl open F, ">vystup.txt"; select F; $inet="192.168.0"; foreach $host ( 1 .. 67 ) { print qx[ping -c1 $inet.$host] } close F;Pokud vas ale zajima jenom vysledek, t.j. jestli stroj odpovida nebo ne, pak muzete upravit smycku takto:
foreach $host ( 1 .. 67 ) { qx[ping -c $inet.$host]; if ( $? ) { print "$inet.$host is dead\n" } else { print "$inet.$host is alive\n" } }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.