When asked what . in a regular expression means,
most people will say that it matches any character,
which isn't true.
It's actually shorthand for [^\n].
Using the s modifier makes . act like people expect it to.

Be cautious about slapping modifier flags onto existing regular expressions, as they can drastically alter their meaning. See http://www.perlmonks.org/?node_id=484238 for an interesting discussion on the effects of blindly modifying regular expression flags.