Article View: pl.comp.lang.perl
Article #775Re: browser w perlu , exec
From: Piotr Piatkowski
Date: Mon, 08 Dec 1997 13:08
Date: Mon, 08 Dec 1997 13:08
42 lines
2041 bytes
2041 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:
<66grh4$6ce$1@galaxy.uci.agh.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!news.memax.krakow.pl!cyfronet!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!uw.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!news.memax.krakow.pl!cyfronet!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 Supersedes: <66glo8$nbc$1@galaxy.uci.agh.edu.pl> Date: 8 Dec 1997 14:08:52 +0100 Organization: University of Mining & Metallurgy Lines: 42 Message-ID: <66grh4$6ce$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