$x ^ $x #### % perl -Mutf8 -e '$x = 42; if ($x ^ $x) {print "string\n";}' % perl -Mutf8 -e '$x = 42.24; if ($x ^ $x) {print "string\n";}' % perl -Mutf8 -e '$x = "42"; if ($x ^ $x) {print "string\n";}' string % perl -Mutf8 -e '$x = "00042"; if ($x ^ $x) {print "string\n";}' string % perl -Mutf8 -e '$x = "42\N{BLACK TELEPHONE}"; if ($x ^ $x) {print "string\n";}' Use of strings with code points over 0xFF as arguments to bitwise xor (^) operator is deprecated at -e line 1. string % perl -v This is perl 5, version 24, subversion 1 (v5.24.1) built for amd64-freebsd-thread-multi