LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek Perl (52) - Externí příkazy

Soucasne zachyceni STDOUT i STDERR (odelene) 21.2.2007 11:40
Roman Vašíček

u provadeneho prikazu muze byt obcas uzitecne. Lze pouzit napriklad nasledujici kod

use IPC::Open3;
use Symbol qw(gensym);
use IO::File;
# Co se ma spustit a s jakymi parametry my @command = qw(prikaz param1 param2); my @result;
sub osExec { my @cmd = @_; my $pid; my $ret; my @out = (); my @err = ();
# Vytvorime lokalni handle pro docasne # soubory k zachyceni STDOUT a STDERR local *CATCHOUT = IO::File->new_tmpfile; local *CATCHERR = IO::File->new_tmpfile;
$pid = open3(gensym, ">&CATCHOUT", ">&CATCHERR", @cmd); waitpid($pid, 0); $ret = $? >> 8; seek $_, 0, 0 for \*CATCHOUT, \*CATCHERR;
@out = <CATCHOUT>; @err = <CATCHERR>;
return($ret, \@out, \@err); }
@result = osExec(@command);

Vysledkem volani funkce osExec je pole jenz obsahuje navratovou hodnotu, zachyceny standardni vystup a chybovy vystup. Nevyhodou tohoto reseni je nacteni veskereho vystupu do promennych coz muze byt problem pokud spousteny program vyprodukuje opravdu velke mnozstvi dat.


KOMENTARZE
Soucasne zachyceni STDOUT i STDERR (odelene) 21.2.2007 11:40 Roman Vašíček
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4791x
2. FreeBSD
Download: 8984x
3. PCLinuxOS-2010
Download: 8488x
4. alcolix
Download: 10804x
5. Onebase Linux
Download: 9568x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6142x

1. xinetd
Download: 2331x
2. RDGS
Download: 937x
3. spkg
Download: 4549x
4. LinPacker
Download: 9801x
5. VFU File Manager
Download: 3116x
6. LeftHand Mała Księgowość
Download: 7002x
7. MISU pyFotoResize
Download: 2700x
8. Lefthand CRM
Download: 3486x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3001x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz