| Server IP : 162.214.74.102 / Your IP : 216.73.216.139 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/perl-Data-Dump-1.22/t/ |
Upload File : |
#!/usr/bin/perl -w
use strict;
use Test qw(plan ok);
use Data::Dump qw(dump);
plan tests => 4;
{
package MyTie;
sub TIE {
my $class = shift;
bless {}, $class;
}
use vars qw(*TIEHASH *TIEARRAY *TIESCALAR);
*TIEHASH = \&TIE;
*TIEARRAY = \&TIE;
*TIESCALAR = \&TIE;
sub FIRSTKEY {
return "a";
}
sub NEXTKEY {
my($self, $lastkey) = @_;
return if $lastkey eq "d";
return ++$lastkey;
}
sub FETCHSIZE {
return 4;
}
sub FETCH {
my($self, $key) = @_;
return "v$key" if defined $key;
return "v";
}
}
my(%hash, @array, $scalar);
tie %hash, "MyTie";
tie @array, "MyTie";
tie $scalar, "MyTie";
ok(nl(dump(\%hash)), <<EOT);
{
# tied MyTie
a => "va",
b => "vb",
c => "vc",
d => "vd",
}
EOT
ok(nl(dump(\@array)), <<EOT);
[
# tied MyTie
"v0" .. "v3",
]
EOT
ok(nl(dump($scalar)), <<EOT);
"v"
EOT
ok(nl(dump($scalar, $scalar, $scalar)), <<EOT);
("v", "v", "v")
EOT
sub nl { shift(@_) . "\n" }