File: tie_bless.pl

package info (click to toggle)
libdata-treedumper-perl 0.40-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 352 kB
  • ctags: 88
  • sloc: perl: 4,282; makefile: 2
file content (63 lines) | stat: -rw-r--r-- 1,202 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

package Vegetable;

package Potatoe ;
use AutoLoader ;
@ISA = ("Vegetable");
sub AUTOLOAD{} ;

package SuperObject ;
@ISA = ("Potatoe");

package SuperObjectWithAutoload ;
@ISA = ("Potatoe");
sub AUTOLOAD{} ;

package TiedHash;
use Tie::Hash;
@ISA = (Tie::StdHash);

package TiedArray;
use Tie::Array;
@ISA = ('Tie::StdArray');

package TiedScalar;
use Tie::Scalar;
@ISA = (Tie::StdScalar);

package TiedHandle; 
use Tie::Handle ;
our @ISA = 'Tie::StdHandle';

package main ;


use strict ;
use warnings ;
use Carp ;

use Data::TreeDumper ;
$Data::TreeDumper::Displayinheritance = 1 ;
$Data::TreeDumper::Displayautoload = 1 ;
$Data::TreeDumper::Displaytie = 1 ;
$Data::TreeDumper::Displayrootaddress = 1 ;

use Devel::Peek ;

tie my %tied_hash_object, "TiedHash" ;
%tied_hash_object = (m1 => 1) ;
bless \%tied_hash_object, 'SuperObject' ;

tie my $tied_scalar_object, "TiedScalar" ;
$tied_scalar_object = 7 ;
bless \$tied_scalar_object, 'SuperObject' ;

tie *FH, 'TiedHandle';
bless \*FH, 'SuperObject' ;

print DumpTree(\%tied_hash_object, '%tied_hash_object') ;
print DumpTree(\$tied_scalar_object, '$tied_scalar_object') ;
print DumpTree(\*FH, '*tied_handle') ;


#~ print Dump %tied_hash_object ;