More specifically, string '0.00' is true but string '0' is false. This tends to surprise C-to-Perl newcomers. So if someone got a string and they weren't sure if it was natural or sprintf-formatted, it could lead to bugs in logic.
use Data::Dumper;
for (0, '', '0', '00', '0.0', '0.00', undef) {
print (($_? 'TRUE' : 'FALSE'), ': ', Dumper($_));
}