В зависимости от того, что вы хотите, вам потребуется использовать ref
или reftype
(который находится в Scalar::Util
, основной модуль).Если ссылка является объектом, ref
вернет класс объекта вместо базового ссылочного типа, reftype
всегда вернет базовый ссылочный тип.
if (ref $var eq ref {}) {
print "$var is a hash\n";
}
use Scalar::Util qw/reftype/;
if (reftype $var eq reftype {}) {
print "$var is a hash\n";
}