Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Condensed output of Data::Dumper used on DateTime

by andreas1234567 (Vicar)
on Feb 28, 2012 at 22:26 UTC ( [id://956785]=note: print w/replies, xml ) Need Help??


in reply to Condensed output of Data::Dumper used on DateTime

A complete working sample using Data::Dumper where an object having a DateTime reference can be printed in short and long versions depending on $Data::Dumper::Freezer:
# Foo.pm package Foo; use strict; use warnings; use DateTime; sub new { my $class = shift; my $self = { _timevalue => DateTime->now, }; bless( $self, $class ); return $self; } # Modify _timevalue and return blessed reference sub _dumper_hook { $_[0] = bless { %{ $_[0] }, _timevalue => $_[0]->{_timevalue}->ymd . q{ } . $_[0]->{_timevalue}->hms, }, ref( $_[0] ); } 1; __END__
Test:
# Foo.t: use strict; use warnings; use Data::Dumper; use Test::More; plan tests => 2; use Foo; my $f = Foo::->new; { local $Data::Dumper::Freezer = '_dumper_hook'; like( Dumper($f), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, q{prints short version} ); } unlike( Dumper($f), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, q{prints long version} ); __END__
Run:
$ perl Foo.t 1..2 ok 1 - prints short version ok 2 - prints long version $
--
No matter how great and destructive your problems may seem now, remember, you've probably only seen the tip of them. [1]

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://956785]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (1)
As of 2024-04-25 03:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found