When evaluating an expression in a scalar (boolean) context, Perl uses the explicit value 1 as a result if the expression evaluates to true and the empty string
1
It's not just "" that's false in Perl. As for why... it's either because Perl is awesome or terrible -- depending on your personal preferences :)