IT練習ノート

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

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

配列レファレンスでのインデックスの最大値

$ perl -MData::Dumper -e '$foo = +[1,2,3,4];print $#$foo;'

Data::DumperかData::Dumpか?

Data::Dumpというモジュールがあり、Data::Dumperとどう違うのだろうと思ったところ、どうもData::Dumperの使いにくい部分があったため、Data::Dumpを作ったようです。使いどころとしては、 簡素な出力をしたいとき DeepCopyをしたいとき のようです。 #ロー…

行列転置

これより短い方法はあるのだろうか? $ perl -MData::Dumper -MList::Util -e ' $foo = +[+[11,12],+[21,22,23],+[31],+[41,42]]; print Dumper($foo); $bar=+[]; for $i (0..List::Util::max(map{$#$_}@$foo)){ push @$bar , +[ map {$_->[$i]} @$foo ] }; …

splitはスラッシュ指定

~>echo $PATH | perl -nl -MData::Dumper -e '@a = split(':', $_);print Dumper(\@a);' syntax error at -e line 1, near "split(:" Execution of -e aborted due to compilation errors. #おっと。。 ~>echo $PATH | perl -nl -MData::Dumper -e '@a = spl…

perlはどこにある?

~>type -all perl perl is /usr/bin/perl perl is /cygdrive/e/Dwimperl/perl/bin/perl

perlマッチングはイタレータ

~/perl $ perl -MData::Dumper -e '$a="a123 n456";@b = ($a=~ m/\d+/g);print Dumper(\@b);' $VAR1 = [ '123', '456' ]; #マッチの結果は配列で受け取れる。 ~/perl $ perl -MData::Dumper -e '$a="a123 n456";while($a=~ m/(\d+)/g ){print Dumper($_)}' $…