Article View: pl.comp.lang.perl
Article #774Re: browser w perlu , exec
From: Piotr Piatkowski
Date: Mon, 08 Dec 1997 11:30
Date: Mon, 08 Dec 1997 11:30
42 lines
1943 bytes
1943 bytes
Bogumila Zawistowska <zawistow@ibm.uci.agh.edu.pl> wrote:
: Pisze programik
: exec "nazwa hosta 80|tee nazwa_pliku";
: #aby zapisac wszelkie komunikaty programu do nazwa_pliku
: print"GET/index.html"
: wsszystko to dziala recznie , ale sesja telneta nie nie czyta tego
: co napisane po print
Ech... Przede wszystkim exec powoduje zastąpienie aktualnego procesu
tym uruchomionym. Więc nic co jest po exec nie ma prawa się wykonać
(chyba że exec się nie powiódł).
Po drugie - jeżeli chcesz pisać do procesu, to trzeba jakoś skierować
dane do jego STDIN. Najprościej zrobić to funkcją open, np. tak:
open( TELNET, "|telnet host 80" ) or die "$!";
print TELNET "GET /index.html";
ale to i tak niewiele da - po pierwsze trudno jest odczytać proces
jednocześnie do pisania i czytania (ale da się - perldoc open2), a po
drugie to zupełnie bez sensu używać do tego telneta.
Najprościej będzie tak:
use IO::Socket;
my $sock = new IO::Socket::INET ( PeerAddr => "www:80",
Proto => "tcp" );
die "$!" if ! defined $sock;
$sock->autoflush( 1 );
$sock->print "GET / HTTP/1.0\n\n";
while(<$sock>) {
print "->$_;
}
--
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Technical Details
Message-ID:
<66glo8$nbc$1@galaxy.uci.agh.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!ict.pwr.wroc.pl!agh.edu.pl!agh.edu.pl!not-for-mailReferences:
<66gjv4$j8m$1@galaxy.uci.agh.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!ict.pwr.wroc.pl!agh.edu.pl!agh.edu.pl!not-for-mail From: Piotr Piatkowski <kompas@galaxy.uci.agh.edu.pl> Newsgroups: pl.comp.lang.perl Subject: Re: browser w perlu , exec Date: 8 Dec 1997 12:30:16 +0100 Organization: University of Mining & Metallurgy Lines: 42 Message-ID: <66glo8$nbc$1@galaxy.uci.agh.edu.pl> References: <66gjv4$j8m$1@galaxy.uci.agh.edu.pl> NNTP-Posting-Host: galaxy.uci.agh.edu.pl Mime-Version: 1.0 X-Newsreader: TIN [UNIX 1.3 unoff BETA 971018; sun4m SunOS 5.5.1] Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit