IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

2013-06-01から1ヶ月間の記事一覧

ハッシュのキーと値の入れ替え

ハッシュも配列だと思えばよいのか。 $ perl -MData::Dumper::Concise -e ' my $foo = {1=>'banana', 2=>'orange', 3=>'poteto'}; print Dumper($foo); my $bar = +{ reverse %$foo }; print Dumper($bar); ' { 1 => "banana", 2 => "orange", 3 => "poteto"…

N件ごとに取り出すイタレータ

もっと防御てきにしたほうがいいはず。 ~/perl $ perl -MData::Dumper -MTupleIterator -e ' $a=+[qw/a b c d e f g h/]; $b=TupleIterator::get_tuple_iterator($a,3); while($b->("more")){print Dumper($b->("next"))}; print Dumper($b->("remain")) ' $…

Data::Dumper::Concise

確かに簡素になりますね。 $ cpan Data::Dumper::Concise CPAN: Storable loaded ok (v2.27) Going to read '/home/naogawa/.cpan/Metadata' Database was generated on Wed, 05 Jun 2013 16:07:52 GMT CPAN: LWP::UserAgent loaded ok (v6.04) CPAN: Time::…

ソート後に順番をつける

こんな感じでよかろうか? $ perl -MData::Dumper::Concise -e ' @foo = qw/ g f e d c b a/; $idx=0; @bar = map {[++$idx, $_]} sort {$a cmp $b } @foo; print Dumper(\@bar);' [ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ], [ 4, "d" ], [ 5, "e" ], [ 6, "f" …

PerlでURLのパラメータを取り出す簡単な方法

もっと簡単な方法はないだろうか? >/perl $ perl -MData::Dumper -e '%a = split("[&=]","foo=1&bar=2"); print Dumper(\%a);' $VAR1 = { 'bar' => '2', 'foo' => '1' }; #おっ。いい感じ。 >/perl $ perl -MData::Dumper -e '%a = split("[&=]","foo=1&bar…

Perlで危険なHTTPサーバ

オペミスを防ぐためにチェック処理をいれないと。。 というかこんなことしないか。 use HTTP::Daemon; my $d = HTTP::Daemon->new(LocalAddr=>'localhost', LocalPort=>8080) || die; while (my $c = $d->accept) { my %param = split("[&=]",substr($c->get…