Perl再入門 | アルパカ本に学ぶリファレンス入門 2.5 - デリファレンスの省略記法

use strict;

my @list = ("a", "b", "c");

my $ref = \@list;


# 配列全体を取り出す

print "@{$ref}\n"; # 出力: a b c

print "@$ref\n";   # 出力: a b c


# 配列の要素を取り出す

print "${$ref}[0]\n"; # 出力: a

print "$$ref[0]\n";   # 出力: a

print "$ref->[0]\n";  # 出力: a

省略のルール

  • { なんちゃら } が単純なスカラー変数の場合は、{ }を省略できる。
  • 例: @{ $ref }  ⇒  @$ref
       ${$ref}[0]  ⇒ $$ref[0]
  • ${ なんちゃら }[1] と書ける全てのコードは、なんちゃら->[1] と書ける。
  • 例: ${$ref}[0] ⇒ $ref->[0]
カテゴリ: