use warnings; use strict; { package Foo; use Data::Dump; use overload fallback=>0, '-X' => sub { dd @_; return 1 }; } my $foo = bless {}, 'Foo'; print -e $foo ? 'yes' : 'no', "\n"; my $bar = "doesnotexist"; print -e $bar ? 'yes' : 'no', "\n"; __END__ (bless({}, "Foo"), "e", "") yes no