Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Stringify objects with overloaded stringification

by liz (Monsignor)
on Nov 30, 2003 at 20:37 UTC ( #311092=snippet: print w/replies, xml ) Need Help??
Description: By using overload it is possible to change the standard stringification of an object. This is a very nice and wonderful feature, which can be a bit of a pain during development and debugging. It is at those times, I have found myself wanting to get the standard stringification for an object, just as a visual aid for debugging.

This little sub does just that: it gives you the standard stringification.

I wonder if it would make sense to add this to Scalar::Util as well.

use Scalar::Util qw(blessed reftype refaddr);
sub stringify ($) {sprintf "%s=%s(0x%x)",blessed $_[0],reftype $_[0],r
+efaddr $_[0]}
Replies are listed 'Best First'.
Re: Stringify objects with overloaded stringification
by ysth (Canon) on Nov 30, 2003 at 23:52 UTC
      Indeed. In hindsight, it's a logical place and name for such functionality, but (as may be clear) I didn't find it. I guess I should have phrased is as a SOPW then, rather than creating a subroutine to do this. ;-) as I could have known someone would already have made something like that.

      On the other hand, this will work even if overload is not loaded, so you can apply it to a blessed value always. So there is some merit in doing it this way.

      Learned something again today (well, actually, it's already tomorrow here ;-)


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://311092]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2018-06-21 03:36 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (117 votes). Check out past polls.