require './test.pl';
}
-plan (106);
+plan (108);
sub expected {
my($object, $package, $type) = @_;
is(ref($object), $package);
my $r = qr/^\Q$package\E=(\w+)\(0x([0-9a-f]+)\)$/;
like("$object", $r);
- "$object" =~ $r;
- is($1, $type);
- # in 64-bit platforms hex warns for 32+ -bit values
- cmp_ok(do {no warnings 'portable'; hex($2)}, '==', $object);
+ if ("$object" =~ $r) {
+ is($1, $type);
+ # in 64-bit platforms hex warns for 32+ -bit values
+ cmp_ok(do {no warnings 'portable'; hex($2)}, '==', $object);
+ }
+ else {
+ fail(); fail();
+ }
}
# test blessing simple types
$c4 = eval { bless \$test, $h1 };
is ($@, '', "class is an overloaded ref");
expected($c4, 'C4', "SCALAR");
+
+{
+ my %h = 1..2;
+ my($k) = keys %h;
+ my $x=\$k;
+ bless $x, 'pam';
+ is(ref $x, 'pam');
+
+ my $a = bless \(keys %h), 'zap';
+ is(ref $a, 'zap');
+}