in reply to differences between eq "" and !
Neither test in the code you provided will print anything, as it is equivalent to this:
if (0 eq "") { print "TEST1 passed\n"; } if (0) { print "TEST2 passed\n"; } [download]