in reply to Your favorite objects NOT of the hashref phylum

I have two modules that use scalar objects:

package OnDestroy; BEGIN { our @EXPORT = qw( on_destroy ); require Exporter; *import = \&Exporter::import; } sub on_destroy(&) { my ($action) = @_; return bless(\$action); } sub cancel { my ($self) = @_; undef $$self; } sub DESTROY { my ($self) = @_; my $action = $$self; $action->() if $action; } 1;

and something I wrote in reponse to a question on PerlMonks:

package AutoExecute; BEGIN { our @EXPORT = qw( auto_execute ); require Exporter; *import = \&Exporter::import; } use overload '""' => \&stringify, '&{}' => \&code_ref, ; sub auto_execute(&) { my ($sub) = @_; return bless(\$sub); } sub new { my ($class, $sub) = @_; return bless(\$sub, $class); } sub stringify { my ($self) = @_; my $sub = $$self; return $sub->(); } sub code_ref { my ($self) = @_; my $sub = $$self; return $sub; } 1;

All my other objects are based on arrays.