perl 覚え書き (perlintro編)

全部箇条書きです。man perlintroの要点を書いています。

$_ → デフォルトの値。なんか省略されてたらこれが指定されたことになる。

$#array : 配列の最後のインデクス。しかし@arrayがスカラーとして評価されるときは、配列の要素数になるので配列のよう素数を知りたいときにこれを使う必要はない。

@_ → サブルーチンに渡された引数

配列やハッシュはスカラーしか格納できない。配列の中に配列やハッシュを入れるには、それの参照を入れることになる。参照はスカラー値。 配列やハッシュをスカラー値として読むと、参照になる。

perlの比較演算子は数値用と文字列用で別々のものを使っている。==は数値用、eqは文字列用等。

<FILEHANDLE> → スカラー値として読むと、ファイルから一行よむ、配列として読むと、全部読む。FILEHANDLEを省略するとSTDINになる。

if ( /foo/ ) $_fooが含まれていれば真

if ($a =~ /foo/) $afooが含まれていれば真

s/foo/bar/;$_の中のfoobarに変える。

$a =~ s/foo/bar/;$aの中のfoobarに変える。

$a =~ s/foo/bar/g;$aの中の全てのfoobarに変える。

サブルーチンの書き方

sub log {
my $logmessage = shift;
print LOGFILE $logmessage;
}

サブルーチンへの引数は、@_で受け取る。 shiftで@_を左からもってくる。

my ($logmessage, $priority) = @_;

こういう風に受け取るのが一般的。

returnを使って値を返せる。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)