I'm preparing to present an intro to Perl for some coworkers so I'm glad I found this problem before presenting. The regex in line 10 matches when it shouldn't. I had to stare at it for a while before figuring it out. I'm posting here to give the newbies or anyone else a chance to debug a silly problem.
use warnings;
use strict;
$_ ='';
# find empty lines.
print " - empty line\n" if /^$/;
# find lines that contain one or more whitespace characters.
print " - contains whitespace 1\n" if m/^\s+$/ =~ $_; ## line 10
print " - contains whitespace 2\n" if m/^\s+$/;
Running deparse on the script makes it obvious: