Perlのメモページ

Perlを使ってごにょごにょできるようになるのを目指すページ。

Perlのエラーメッセージ等でわからないことがあれば。


配列関係


配列の最後の要素にアクセスしたい


@hoge

という配列を作ったときの、配列の個数は

$#hoge

で手に入る。つまり、これは

@hoge - 1

と同じ意味になる。

ファイル関係


改行を入れる。

perl -pe 's/ /\n/g'
とすれば、空白を改行にすることができる。

CPANからStatisticsをインストール


ここを参照のこと。

ファイルの入出力

スクリプト内でファイルを開きたいときは
open (INFILE,"hoge");
とすれば、hogeがINFILEに入る。

ファイルに出力したいときは、
open (OUTFILE, "> hoge");
とすれば、hogeに、OUTFILEが入る。

あと、openしものはきちんとcloseする。

close INFILE;
close OUTFILE;

(うまくない)例としては、
open (INFILE,"hoge");
open (OUTFILE,">hogenew")
while($str = <INFILE>){
s/ / \& /g;
print OUTFILE ;
}
close (INFILE);
close (OUTFILE);

など。

コメントアウト

一行だけのときは
#
を用いる。
複数行の場合は、
=comment
=cut
ではさめば良い。

長々しい整数値を書くとき

例えば、1234567890123という数字は、一瞬で何桁あるのかわかりずらい。そういう場合は、perlでは、

1_234_567_890_123

と書くことが許される。これは、1234567890123と同じ意味になる。

grep

とあるテキストだったりリストの中から、特定の要素だけを取り出したいときは、grepを使うと便利な場合が多い。
例えば、1..1000までの間の奇数は、

@odd = grep { $_ % 2 } 1..1000;

と1行で書くことができる。

map

とあるリストの要素に対して、同じような変換をしたければ、mapを使うと便利な場合がある。
例えば、1..1000までの数に対して、おのおの2をかけた値のリストを作りたければ、

@even = map $_ * 2, 1..1000;

とすればよい。
最終更新:2012年07月24日 17:36