To use
perl's native stringification method you can just use the static method
overload::Strval. As for how you specifically disable stringification for output, I don't think you can control this, so you might just want a couple of wrapper methods along the lines of
sub foo::print {
my $obj = overload::Strval($_[0]);
print "$obj: @_[1 .. $#_]";
}
my $o = bless [] => 'foo';
$o->print('some output');
__output__
foo=ARRAY(0x1012116c): some output
Also be careful about what you're
blessing as you can't
bless constants e.g
perl -e 'bless \1'
Modification of a read-only value attempted at -e line 1.
HTH
_________
broquaint