line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Data::Serializer::Data::Dumper; |
2
|
11
|
|
|
11
|
|
468
|
BEGIN { @Data::Serializer::Data::Dumper::ISA = qw(Data::Serializer) } |
3
|
|
|
|
|
|
|
|
4
|
11
|
|
|
11
|
|
62
|
use warnings; |
|
11
|
|
|
|
|
20
|
|
|
11
|
|
|
|
|
332
|
|
5
|
11
|
|
|
11
|
|
60
|
use strict; |
|
11
|
|
|
|
|
21
|
|
|
11
|
|
|
|
|
369
|
|
6
|
11
|
|
|
11
|
|
62
|
use Carp; |
|
11
|
|
|
|
|
5846
|
|
|
11
|
|
|
|
|
805
|
|
7
|
11
|
|
|
11
|
|
70
|
use Data::Dumper; |
|
11
|
|
|
|
|
19
|
|
|
11
|
|
|
|
|
525
|
|
8
|
|
|
|
|
|
|
|
9
|
11
|
|
|
11
|
|
55
|
use vars qw($VERSION @ISA); |
|
11
|
|
|
|
|
21
|
|
|
11
|
|
|
|
|
3488
|
|
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
$VERSION = '0.05'; |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
# |
16
|
|
|
|
|
|
|
# Create a Data::Dumper serializer object. |
17
|
|
|
|
|
|
|
# |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
sub serialize { |
20
|
231
|
|
|
231
|
1
|
357
|
my $self = shift; |
21
|
231
|
|
|
|
|
342
|
my ($val) = @_; |
22
|
231
|
50
|
|
|
|
543
|
return undef unless defined $val; |
23
|
|
|
|
|
|
|
|
24
|
231
|
|
|
|
|
337
|
local $Data::Dumper::Indent = 0; |
25
|
231
|
|
|
|
|
320
|
local $Data::Dumper::Purity = 1; |
26
|
231
|
|
|
|
|
296
|
local $Data::Dumper::Terse = 1; |
27
|
|
|
|
|
|
|
#return Data::Dumper::Dumper($val); |
28
|
|
|
|
|
|
|
#Eval'ing this statement will leave $M defined |
29
|
231
|
|
|
|
|
1408
|
return Data::Dumper->Dump([$val],['M']); |
30
|
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
# |
34
|
|
|
|
|
|
|
# |
35
|
|
|
|
|
|
|
# Shamelessly copied from Data::Dumper::Serializer::Data::Dumper |
36
|
|
|
|
|
|
|
# With apologies to relevant parties for not getting the |
37
|
|
|
|
|
|
|
# self-referencing right the first time |
38
|
|
|
|
|
|
|
# |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
sub deserialize { |
41
|
231
|
|
|
231
|
1
|
352
|
my $self = shift; |
42
|
231
|
|
|
|
|
388
|
my ($val) = @_; |
43
|
231
|
50
|
|
|
|
522
|
return undef unless defined $val; |
44
|
231
|
|
|
|
|
309
|
my $M = ""; |
45
|
|
|
|
|
|
|
# Disambiguate hashref (perl may treat it as a block) |
46
|
231
|
100
|
|
|
|
17985
|
my $N = eval($val =~ /^\{/ ? '+'.$val : $val); |
47
|
231
|
100
|
|
|
|
1931
|
return $M ? $M : $N unless $@; |
|
|
50
|
|
|
|
|
|
48
|
0
|
|
|
|
|
|
carp "Data::Serializer error: $@\twhile evaluating:\n $val"; |
49
|
|
|
|
|
|
|
} |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
# avoid used only once warnings |
52
|
|
|
|
|
|
|
{ |
53
|
|
|
|
|
|
|
local $Data::Dumper::Terse; |
54
|
|
|
|
|
|
|
} |
55
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
1; |
57
|
|
|
|
|
|
|
__END__ |