Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

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

by andreas1234567 (Vicar)
on Feb 28, 2012 at 22:26 UTC ( #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:

# 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__
# 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__
$ 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]

Comment on Re: Condensed output of Data::Dumper used on DateTime
Select or Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (11)
As of 2015-10-09 13:36 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (242 votes), past polls