|
Packit |
b48d6e |
#!/usr/bin/perl -w
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
BEGIN { unshift @INC, '.' ;}
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
require Devel::Symdump;
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
print "1..8\n";
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
@p = qw(
|
|
Packit |
b48d6e |
scalars arrays hashes functions
|
|
Packit |
b48d6e |
unknowns filehandles dirhandles packages);
|
|
Packit |
b48d6e |
|
|
Packit |
b48d6e |
$i=0;
|
|
Packit |
b48d6e |
if ($] < 5.010) {
|
|
Packit |
b48d6e |
# with 5.8.9 just calling a sort() left something behind on the symbol table
|
|
Packit |
b48d6e |
@x1 = sort (1,2);
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
for (@p){
|
|
Packit |
b48d6e |
@x1 = sort Devel::Symdump->$_();
|
|
Packit |
b48d6e |
@x2 = sort Devel::Symdump->new->$_();
|
|
Packit |
b48d6e |
unless ("@x1" eq "@x2"){
|
|
Packit |
b48d6e |
my %h1 = map {$_=>1} @x1;
|
|
Packit |
b48d6e |
my %h2 = map {$_=>1} @x2;
|
|
Packit |
b48d6e |
my %hm;
|
|
Packit |
b48d6e |
for (@x1,@x2) {
|
|
Packit |
b48d6e |
$hm{$_}++;
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
for my $k (sort keys %hm) {
|
|
Packit |
b48d6e |
next if $hm{$k}==2;
|
|
Packit |
b48d6e |
if (!exists $h1{$k}) {
|
|
Packit |
b48d6e |
print "# only in x2 [$k]\n";
|
|
Packit |
b48d6e |
} else {
|
|
Packit |
b48d6e |
print "# only in x1 [$k]\n";
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
print "not ";
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
print "ok ", ++$i, "\n";
|
|
Packit |
b48d6e |
}
|
|
Packit |
b48d6e |
|