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]

関連項目

なし