ref
ref EXPR
EXPRがリファレンスなら真を、そうでなければ偽を返します。
真の時の値はEXPRによって変わります。
サンプルプログラム
use IO::File;
$foo = 'ABC';
print_ref($foo);
$foo = [0, 1, 2];
print_ref($foo);
$foo = {a => '0', b => '1'};
print_ref($foo);
$foo = IO::File->new();
print_ref($foo);
sub print_ref {
my $val = shift;
my $type = ref $val;
if ($type) {
print "reference. ";
} else {
print "not reference. ";
}
print "[$type]\n";
}
# 以下は実行結果
not reference. []
reference. [ARRAY]
reference. [HASH]
reference. [IO::File]
