Perl

LWP で TEをとろう

GET /hoge.php?q=pon HTTP/1.1 TE: deflate,gzip;q=0.3 Connection: TE TEを取りましょう。LWP/Protocol/http.pm my $sock = $self->socket_class->new(PeerAddr => $host, PeerPort => $port, Proto => 'tcp', Timeout => $timeout, KeepAlive => !!$conn_c…

リストのシャッフル 1時間は同じ内容で返す

@e=(0..99); @e=shuffle_hour(@e); print join( " ",@e),"\n"; sub shuffle_hour (@) { my @a=\(@_); my $n; my $i=@_; srand(int(time()/3600)); map { $n = rand($i--); (${$a[$n]}, $a[$n] = $a[$i])[0]; } @_; }

リストのシャッフル

use List::Util; @e=(0..99); @e=List::Util::shuffle(@e); print join( " ",@e),"\n";

IPアドレス:ポートを16進表示する

IPアドレス:ポートを16進表示する #!/usr/bin/perl print sprintf("%08X%04X",unpack('Nn', pack('CCCCn', split(/[\.\:]/, $ARGV[0]))));

アドレスホスト変換、製作時間 30秒ぐらい

#!/usr/bin/perl use Socket;while(){ my $iaddr = pack('C*', split(/\./, $_)); my $host_name = gethostbyaddr($iaddr, AF_INET); print "$_ $host_name\n"; }

httpd

perl で書かれたhttpdhttp://fuktommy.com/htmlpp/httpd-0.1b10.pl tomoyo$ perl [ペースト] ^d で実行できるところが利点だと思う。

これで行くことにした。

$image->setPixel($x,$y,$color)

エンコードリスト表示

perl -e 'use Encode;@e=Encode->encodings(":all");for(@e){print $_,"\n";}'

メモ

split(/((?:[\x00-\x2e]|[\x30-\x7F]|[\x8E\xA2-\xFE][\xA1-\xFE]|\xA1[\xA1-\xBE]|\xA1[\xC0-\xFE]|\x8F[\xA1-\xFE][\xA1-\xFE])*)(?:\s| )*(?:\/|/)?(?:\s| )*/, $str)