handlename's blog

コード片など

Perlの配列とハッシュと参照

さんざんこんがらがったのでメモ。
()と[]と{}と\の使い方。

配列

my @var = ( 1, 2, 3 );
print @var[1]; # => 2

配列の参照

# 参照なのでスカラーで受ける
my $var = [ 1, 2, 3 ];

# 参照なのでアローで読み出す
print $var->[1]; # => 2 

これはこの書き方と同じ

# 配列を格納
my @var2 = ( 1, 2, 3 );

# 配列の参照を格納
my $var  = \@var2;

ハッシュ

# 定義するときは"%"
my %var = ( a => 1, b => 2, c => 3 );

# 読み出すときは"$"を使う
print $var{b}; # => 2

ハッシュの参照

# 参照なのでスカラーで受ける
my $var = { a => 1, b => 2, c => 3 };

# 参照なのでアローで読み出す
print $var->{b}; # => 2

これはこの書き方と同じ

# ハッシュを格納
my %var2 = ( a => 1, b => 2, c => 3 );

# ハッシュの参照を格納
my $var  = \%var2; # = { a => 1, b => 2, c => 3 }

基本はCのポインタと同じ感じですね。
メモも取らずに闇雲に試してたらめっちゃはまりました・・・。

f:id:handlename:20101020214856p:image

メモ大事。