in reply to Why are these 2 strings equal?

Because you don't use '-w' that would warn you about type mismatch. Use it (together with 'use strict;' and save yourself a lot of hassle.

-mk