|  line  | 
 stmt  | 
 bran  | 
 cond  | 
 sub  | 
 pod  | 
 time  | 
 code  | 
| 
1
 | 
  
 
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 package YAML::Old::Mo;  | 
| 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # use Mo qw[builder default import];  | 
| 
3
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #   The following line of code was produced from the previous line by  | 
| 
4
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #   Mo::Inline version 0.40  | 
| 
5
 | 
45
 | 
  
100
  
 | 
  
 33
  
 | 
  
45
  
 | 
 
 | 
326
 | 
 no warnings;my$M=__PACKAGE__.'::';*{$M.Object::new}=sub{my$c=shift;my$s=bless{@_},$c;my%n=%{$c.'::'.':E'};map{$s->{$_}=$n{$_}->()if!exists$s->{$_}}keys%n;$s};*{$M.import}=sub{import warnings;$^H|=1538;my($P,%e,%o)=caller.'::';shift;eval"no Mo::$_",&{$M.$_.::e}($P,\%e,\%o,\@_)for@_;return if$e{M};%e=(extends,sub{eval"no $_[0]()";@{$P.ISA}=$_[0]},has,sub{my$n=shift;my$m=sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}};@_=(default,@_)if!($#_%2);$m=$o{$_}->($m,$n,@_)for sort keys%o;*{$P.$n}=$m},%e,);*{$P.$_}=$e{$_}for keys%e;@{$P.ISA}=$M.Object};*{$M.'builder::e'}=sub{my($P,$e,$o)=@_;$o->{builder}=sub{my($m,$n,%a)=@_;my$b=$a{builder}or return$m;my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=\&{$P.$b}and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$_[0]->$b:$m->(@_)}}};*{$M.'default::e'}=sub{my($P,$e,$o)=@_;$o->{default}=sub{my($m,$n,%a)=@_;exists$a{default}or return$m;my($d,$r)=$a{default};my$g='HASH'eq($r=ref$d)?sub{+{%$d}}:'ARRAY'eq$r?sub{[@$d]}:'CODE'eq$r?$d:sub{$d};my$i=exists$a{lazy}?$a{lazy}:!${$P.':N'};$i or ${$P.':E'}{$n}=$g and return$m;sub{$#_?$m->(@_):!exists$_[0]{$n}?$_[0]{$n}=$g->(@_):$m->(@_)}}};my$i=\&import;*{$M.import}=sub{(@_==2 and not$_[1])?pop@_:@_==1?push@_,grep!/import/,@f:();goto&$i};@f=qw[builder default import];use strict;use warnings;  | 
| 
 
 | 
45
 | 
  
100
  
 | 
  
 33
  
 | 
  
45
  
 | 
 
 | 
94
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
  
 33
  
 | 
  
45
  
 | 
 
 | 
32988
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
45
  
 | 
 
 | 
357
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
45
  
 | 
 
 | 
102
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
937
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
196
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
91
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
1971
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
6385
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
100
  
 | 
 
 | 
  
44
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
45
 | 
  
100
  
 | 
 
 | 
  
43
  
 | 
 
 | 
5058
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
100
  
 | 
 
 | 
  
43
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
100
  
 | 
 
 | 
  
21
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
  
100
  
 | 
 
 | 
  
21
  
 | 
 
 | 
5841
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
100
  
 | 
 
 | 
  
20
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
  
 50
  
 | 
 
 | 
  
20
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
  
20
  
 | 
 
 | 
5027
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
  
2
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
  
2
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
  
1
  
 | 
 
 | 
5247
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
  
1
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
  
127262
  
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
5005
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
5304
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
5002
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4782
 | 
    | 
| 
 
 | 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4
 | 
    | 
| 
 
 | 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
18
 | 
    | 
| 
 
 | 
43
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4711
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
43
 | 
 
 | 
 
 | 
 
 | 
 
 | 
485
 | 
    | 
| 
 
 | 
41
 | 
 
 | 
 
 | 
 
 | 
 
 | 
87
 | 
    | 
| 
 
 | 
41
 | 
 
 | 
 
 | 
 
 | 
 
 | 
397
 | 
    | 
| 
 
 | 
21
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2679
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
21
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2448
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
10
 | 
    | 
| 
 
 | 
20
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2213
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
20
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2204
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
20
 | 
 
 | 
 
 | 
 
 | 
 
 | 
232
 | 
    | 
| 
 
 | 
19
 | 
 
 | 
 
 | 
 
 | 
 
 | 
42
 | 
    | 
| 
 
 | 
19
 | 
 
 | 
 
 | 
 
 | 
 
 | 
188
 | 
    | 
| 
 
 | 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
242
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
2
 | 
 
 | 
 
 | 
 
 | 
 
 | 
127
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
9
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
136
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
119
 | 
    | 
| 
 
 | 
  
0
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
0
 | 
 
 | 
 
 | 
 
 | 
 
 | 
0
 | 
    | 
| 
 
 | 
127262
 | 
 
 | 
 
 | 
 
 | 
 
 | 
621867
 | 
    | 
| 
 
 | 
26954
 | 
 
 | 
 
 | 
 
 | 
 
 | 
83600
 | 
    | 
| 
 
 | 
17845
 | 
 
 | 
 
 | 
 
 | 
 
 | 
58020
 | 
    | 
| 
 
 | 
6487
 | 
 
 | 
 
 | 
 
 | 
 
 | 
20741
 | 
    | 
| 
 
 | 
3110
 | 
 
 | 
 
 | 
 
 | 
 
 | 
196948
 | 
    | 
| 
 
 | 
6000
 | 
 
 | 
 
 | 
 
 | 
 
 | 
17483
 | 
    | 
| 
 
 | 
1124
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3269
 | 
    | 
| 
 
 | 
19488
 | 
 
 | 
 
 | 
 
 | 
 
 | 
47597
 | 
    | 
| 
 
 | 
78642
 | 
 
 | 
 
 | 
 
 | 
 
 | 
249541
 | 
    | 
| 
 
 | 
2765
 | 
 
 | 
 
 | 
 
 | 
 
 | 
7157
 | 
    | 
| 
 
 | 
1006
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3254
 | 
    | 
| 
 
 | 
941
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2339
 | 
    | 
| 
 
 | 
10542
 | 
 
 | 
 
 | 
 
 | 
 
 | 
36978
 | 
    | 
| 
 
 | 
1188
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3097
 | 
    | 
| 
 
 | 
4220
 | 
 
 | 
 
 | 
 
 | 
 
 | 
12523
 | 
    | 
| 
 
 | 
1665
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4145
 | 
    | 
| 
 
 | 
1246
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4003
 | 
    | 
| 
 
 | 
708
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1793
 | 
    | 
| 
 
 | 
777
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2149
 | 
    | 
| 
 
 | 
1196
 | 
 
 | 
 
 | 
 
 | 
 
 | 
28450
 | 
    | 
| 
 
 | 
966
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2251
 | 
    | 
| 
 
 | 
836
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2542
 | 
    | 
| 
 
 | 
1522
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4132
 | 
    | 
| 
 
 | 
942
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2927
 | 
    | 
| 
 
 | 
996
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2898
 | 
    | 
| 
 
 | 
778
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2363
 | 
    | 
| 
 
 | 
650
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3422
 | 
    | 
| 
 
 | 
767
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1991
 | 
    | 
| 
 
 | 
689
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2317
 | 
    | 
| 
 
 | 
836
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1850
 | 
    | 
| 
 
 | 
657
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2029
 | 
    | 
| 
 
 | 
818
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2389
 | 
    | 
| 
 
 | 
632
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1763
 | 
    | 
| 
 
 | 
862
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3170
 | 
    | 
| 
 
 | 
507
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1910
 | 
    | 
| 
 
 | 
652
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3370
 | 
    | 
| 
 
 | 
502
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1389
 | 
    | 
| 
 
 | 
558
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1957
 | 
    | 
| 
 
 | 
828
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1661
 | 
    | 
| 
 
 | 
583
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1606
 | 
    | 
| 
 
 | 
849
 | 
 
 | 
 
 | 
 
 | 
 
 | 
1992
 | 
    | 
| 
 
 | 
512
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2054
 | 
    | 
| 
 
 | 
653
 | 
 
 | 
 
 | 
 
 | 
 
 | 
2647
 | 
    | 
| 
 
 | 
163
 | 
 
 | 
 
 | 
 
 | 
 
 | 
893
 | 
    | 
| 
 
 | 
592
 | 
 
 | 
 
 | 
 
 | 
 
 | 
3909
 | 
    | 
| 
6
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
7
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 our $DumperModule = 'Data::Dumper';  | 
| 
8
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
9
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 my ($_new_error, $_info, $_scalar_info);  | 
| 
10
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
11
 | 
45
 | 
 
 | 
 
 | 
  
45
  
 | 
 
 | 
228
 | 
 no strict 'refs';  | 
| 
 
 | 
45
 | 
 
 | 
 
 | 
 
 | 
 
 | 
85
 | 
    | 
| 
 
 | 
45
 | 
 
 | 
 
 | 
 
 | 
 
 | 
20377
 | 
    | 
| 
12
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 *{$M.'Object::die'} = sub {  | 
| 
13
 | 
36
 | 
 
 | 
 
 | 
  
36
  
 | 
 
 | 
80
 | 
     my $self = shift;  | 
| 
14
 | 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
81
 | 
     my $error = $self->$_new_error(@_);  | 
| 
15
 | 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
85
 | 
     $error->type('Error');  | 
| 
16
 | 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
97
 | 
     Carp::croak($error->format_message);  | 
| 
17
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
18
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
19
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 *{$M.'Object::warn'} = sub {  | 
| 
20
 | 
7
 | 
 
 | 
 
 | 
  
7
  
 | 
 
 | 
10
 | 
     my $self = shift;  | 
| 
21
 | 
7
 | 
  
 50
  
 | 
 
 | 
 
 | 
 
 | 
20
 | 
     return unless $^W;  | 
| 
22
 | 
7
 | 
 
 | 
 
 | 
 
 | 
 
 | 
16
 | 
     my $error = $self->$_new_error(@_);  | 
| 
23
 | 
7
 | 
 
 | 
 
 | 
 
 | 
 
 | 
17
 | 
     $error->type('Warning');  | 
| 
24
 | 
7
 | 
 
 | 
 
 | 
 
 | 
 
 | 
18
 | 
     Carp::cluck($error->format_message);  | 
| 
25
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
26
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
27
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # This code needs to be refactored to be simpler and more precise, and no,  | 
| 
28
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # Scalar::Util doesn't DWIM.  | 
| 
29
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #  | 
| 
30
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # Can't handle:  | 
| 
31
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 # * blessed regexp  | 
| 
32
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 *{$M.'Object::node_info'} = sub {  | 
| 
33
 | 
3815
 | 
 
 | 
 
 | 
  
3815
  
 | 
 
 | 
5583
 | 
     my $self = shift;  | 
| 
34
 | 
3815
 | 
 
 | 
  
100
  
 | 
 
 | 
 
 | 
11689
 | 
     my $stringify = $_[1] || 0;  | 
| 
35
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my ($class, $type, $id) =  | 
| 
36
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         ref($_[0])  | 
| 
37
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         ? $stringify  | 
| 
38
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
           ? &$_info("$_[0]")  | 
| 
39
 | 
3815
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
8888
 | 
           : do {  | 
| 
 
 | 
 
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
40
 | 
3793
 | 
 
 | 
 
 | 
 
 | 
 
 | 
12211
 | 
               require overload;  | 
| 
41
 | 
3793
 | 
 
 | 
 
 | 
 
 | 
 
 | 
9032
 | 
               my @info = &$_info(overload::StrVal($_[0]));  | 
| 
42
 | 
3793
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
10789
 | 
               if (ref($_[0]) eq 'Regexp') {  | 
| 
43
 | 
1
 | 
 
 | 
 
 | 
 
 | 
 
 | 
4
 | 
                   @info[0, 1] = (undef, 'REGEXP');  | 
| 
44
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
               }  | 
| 
45
 | 
3793
 | 
 
 | 
 
 | 
 
 | 
 
 | 
8923
 | 
               @info;  | 
| 
46
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
           }  | 
| 
47
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         : &$_scalar_info($_[0]);  | 
| 
48
 | 
3815
 | 
  
100
  
 | 
 
 | 
 
 | 
 
 | 
8045
 | 
     ($class, $type, $id) = &$_scalar_info("$_[0]")  | 
| 
49
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         unless $id;  | 
| 
50
 | 
3815
 | 
  
 50
  
 | 
 
 | 
 
 | 
 
 | 
12694
 | 
     return wantarray ? ($class, $type, $id) : $id;  | 
| 
51
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
52
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
53
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 #-------------------------------------------------------------------------------  | 
| 
54
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 $_info = sub {  | 
| 
55
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     return (($_[0]) =~ qr{^(?:(.*)\=)?([^=]*)\(([^\(]*)\)$}o);  | 
| 
56
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
57
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
58
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 $_scalar_info = sub {  | 
| 
59
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my $id = 'undef';  | 
| 
60
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     if (defined $_[0]) {  | 
| 
61
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         \$_[0] =~ /\((\w+)\)$/o or CORE::die();  | 
| 
62
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
         $id = "$1-S";  | 
| 
63
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     }  | 
| 
64
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     return (undef, undef, $id);  | 
| 
65
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
66
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
67
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 $_new_error = sub {  | 
| 
68
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     require Carp;  | 
| 
69
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my $self = shift;  | 
| 
70
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     require YAML::Old::Error;  | 
| 
71
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
72
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my $code = shift || 'unknown error';  | 
| 
73
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     my $error = YAML::Old::Error->new(code => $code);  | 
| 
74
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     $error->line($self->line) if $self->can('line');  | 
| 
75
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     $error->document($self->document) if $self->can('document');  | 
| 
76
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     $error->arguments([@_]);  | 
| 
77
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
     return $error;  | 
| 
78
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 };  | 
| 
79
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
    | 
| 
80
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 
 | 
 1;  |