use strict; use warnings; use Math::BigInt; # for demo use Inline C => Config => BUILD_NOISY => 1, ; use Inline C => <<'EOC'; int is(SV * a, SV * b) { if(a == b) return 1; if(SvROK(a) && SvROK(b)) { if(SvRV(a) == SvRV(b)) return 2; } return 0; } EOC my $x = 15; my $y = 14; my $r1 = \$x; my $r2 = \$x; my $r3 = \$y; my $m1 = Math::BigInt->new(7); my $m2 = $m1; my $m3 = Math::BigInt->new(7); print is($x, $y), "\n"; print is($r1, $r2), "\n"; print is($r1, $r1), "\n"; print is($r1, $r3), "\n"; print is($m1, $m2), "\n"; print is($m3, $m2), "\n";