sironekotoroの日記

Perl で楽をしたい

はじめてのPerl 第6版 第14章 文字列処理とソート

rindex

  • indexのreverse?って勘違いして、部分文字列が行末から数えて合致した・・・とか訳の分からない解釈をしてた。
  • もちろん、部分文字列が最後に見つかった場所の(先頭からの)位置を返す

substr関数への代入

my $string = "Hello World!";  
substr( $string, 0, 5 ) = "Goodbye";  
say $string;  #Goodbye World!  
  • うーん、なんか違和感が
  • こっちの方がしっくりくる
substr( $string, 0, 5 ,"Goodbye");

ドル表記時のカンマ挿入

  • このサブルーチンだけでもお腹いっぱいに
    sub big_money {  
    my $number = sprintf "%.2f" , shift @_;  
    1 while $number =~ s/^(-?\d+)(\d\d\d)/$1,$2/;  
    $number =~ s/^(-?)/$1\$/;  
    $number;  
}
  • printfつかって小数点以下の桁を調整し、whileのワンライナーに、正規表現使った置換、マイナス値だった場合の処理まで

YAPC::Asia 2015のチケット入手〜!