#!/path/to/perl my $X = \$X; printf STDOUT "Starting with VAR %lx and REF %lx \n", $X, \$X; if ($X == \$X) { printf STDOUT "uh oh, they are deemed equal\n"; } else { printf STDOUT "ah, good, they are observed to differ\n"; } # end #### #!/path/to/perl my $X = \$X; my $Y = \$Y; if ( \$X == \$Y ) { printf STDOUT "disturbing declaration of equality! \n"; printf STDOUT "Refs: %s \t %s \n", \$X, \$Y; printf STDOUT "Vals: %lx \t %lx \n", $X, $Y; printf STDOUT "SOps: sum %lx \t dif %lx \n", $X + $Y, $X - $Y; printf STDOUT "incs: %lx \t +512=%lx \t +1024=%lx \n", $X, $X + 512, $X + 1024; } else { printf STDOUT "all is quiet and peaceful, \n"; printf STDOUT "%lx and %lx are recognized to differ by %lx \n", \$X, \$Y, \$X - \$Y; } # end #### all is quiet and peaceful, 100231cc0 and 100231ce0 are recognized to differ by ffffffffffffffe0 #### disturbing declaration of equality! Refs: SCALAR(0x800000010002a9b0) SCALAR(0x800000010002a9d0) Vals: 800000010002a9f0 800000010002aa30 SOps: sum 200055000 dif 0 incs: 800000010002a9f0 +512=800000010002a800 +1024=800000010002b000