use Test::More tests => 2; use Inline C => <<'__EOC__'; SV* addr_to_ref(IV addr) { return newRV_inc((SV*)addr); } __EOC__ { my @a = qw( a b c ); my $ref = \@a; my $stringified_ref = "$ref"; my $addr = $stringified_ref =~ /0x([0-9a-f]+)/ ? hex($1) : die; my $ref2 = addr_to_ref($addr); is(0+$ref, 0+$ref2); is("@$ref", "@$ref2"); }