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]