超簡単HTTPクライアント

いろんな例外処理を省いた超簡単な例。ほんとはポート番号とかちゃんとやった方がいいんだろうけど、自分用メモに簡単なかたちが欲しかったので。

use strict;
use Socket;

$ARGV[0] =~ m|(http://)?([^/]+)(.*)|;
my ($host, $path) = ($2, $3);

socket(SOCKET, PF_INET, SOCK_STREAM, 0);
connect(SOCKET, pack_sockaddr_in(80, inet_aton($host)));
select(SOCKET); $|=1; select(STDOUT);

print SOCKET "GET /$path HTTP/1.0\r\n\r\n";
while (){
    last if /^\r\n$/;
}
while (){
    print;
}