トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Perl/Tips

PerlTips

全角スペースを探す(ワンライナーバージョン)

  • 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;
}

お名前: コメント: