アウトプットができる技術者に

it's a time to take a new step !

Perl 配列

@変数名で定義する。

# sample.1
@items = ("a","b","c","d");

# 1-100 まで定義
@items = (1..100);

# sample.2 (quoated words. シングルクオートを省略できる)
@items = ('a','b','c');
@items = qw(a b c);
@items = qw /a b c/;

出力

print($items[0] . "\n"); # => a (一つ目の要素)
print($items[-1] . "\n"); # => d (最後の要素)
print($#items . "\n"); # => 3 (indexの最大値)
print(@items . "\n");  # => 4 (要素数)
print(@items);         # => abcd
print @[0..2]          # => abc (添え字 0-2まで)

配列を舐める

@items = ("a","b","c","d");
foreach (@items) {
    print "$_\n";
}

無名配列
リファレンスを格納している?

$items = ["a","a","b","b"]; # => ()ではなく[]で定義。変数名も「@」ではなく「$」

print($#items . "\n"); # => -1 (indexの最大値。配列ではないので「-1」っぽい)
print($items . "\n");  # => ARRAY(0x289fdc) (メモリ上のアドレス?)
print($items);         # => ARRAY(0x289fdc) (メモリ上のアドレス?)
print "\n--\n";
print(@$items . "\n"); # => 4(要素数)
print(@$items);        # => aabb (全要素)
print "\n";
print $items->[0];     # => a(最初の要素)


http://takenaka-akio.org/doc/perl_kiso/reference3.html