トップ 一覧 検索 ヘルプ RSS ログイン

Perl/Tipsの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!全角スペースを探す(ワンライナーバージョン)
*sjis版
 $ perl -n -e "printf \"line %d : %s\n\", $., $_ if (s/\x81\x40/\@\@/);" test.txt
 line 1 : ここに->@@<-全角スペース

*置換もしてしまう版
 $ perl -pi.bak -e "s/\x81\x40/\x20/" test.txt


!!!CSVファイルの各フィードの平均値を求める.
 #!perl -nlaF/[,\s]+/
 for(0..$#F) {$sum[$_] += $F[$_]}
 END { print join ",", map { $_/$. } @sum; }

 $ave.pl test.csv
 


!!!大きな整数を扱う
 use bigint


!!!PI
 $PI = 4*atan2(1,1);
 
 #constant
 use constant PI => 4*atan2(1,1);


!!!正規乱数

 $PI=3.14159265358979;
 sub randn {  
   my ($m, $s) = @_;
   return $s*sqrt(-2*log(rand()))*cos(2*$PI*rand())+$m;
 }

  sub randn {  
   my ($m, $s) = @_;
   $r=0;
   for (1..12) { $r+=rand(); }
   return $s*($r-6)+$m;
 }