#!/usr/bin/perl -Tw my ( $v1, $v2, $s1, $s2, $d1, $d2, ); $v1=undef; $v2=undef; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1='A'; $v2=undef; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1=undef; $v2='A'; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1='A'; $v2='A'; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1='A'; $v2='B'; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1=undef; $v2=''; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; } print "=====\n"; $v1=undef; $v2=0; $s1 = $v1 // ''; $s2 = $v2 // ''; $d1 = defined($v1) ? $v1 : "UNDEFINED"; $d2 = defined($v2) ? $v2 : "UNDEFINED"; print "$d1 - $d2 = "; if ($s1 ne $s2) { print "NOT EQUAL\n"; } else { print "EQUAL\n"; } if ($v1 && $v2 && $v1 ne $v2) { print "CURRENT BUT NOT EQUAL\n"; } else { print "CURRENT BUT EQUAL\n"; } if ($v1 ne $v2) { print "BUSTED BUT NOT EQUAL\n"; } else { print "BUSTED BUT EQUAL\n"; }