Without the options, any attempt to use a regex to match a multi-line string will fail early and obviously.In my own experience that "early and obviously" is...optimistic.
Personally, I'd much rather that I got bitten by my misunderstandings the first time, or the first few times, I tried to do something that exposed that misunderstanding, than have only have it come to light when my cargo-culting mysteriously fails to match my actual requirements.It's not cargo-cult when people choose to do it deliberately, as a mechanism to help prevent the types of mistakes they habitually make. It's like regularly using strict (incidentally, yet another default that has been changed in more recent versions of Perl).
As long as the vast majority of Perl users I encounter unthinkingly describe /^foo/ as "foo at the start of a line" and /.*/ as "match any number of any character" (and describe them that way even when they actually know better), then I'm going to go on suggesting that people always use the regex flags that make their code work they way their brain thinks.
I sincerely respect your right to disagree, and admire your determination to encourage people to better understand the actual meaning of the constructs they use.
For myself, I'd rather adapt the language defaults to the way its users actually think than force its users to adapt their thinking to the way the language unfortunately defaults.
Damian
In reply to Re^8: example of 'm / / m' related example and compare to 'm / / s'
by Anonymous Monk
in thread PERL regex modifiers for m//
by rockstar99
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |