The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Perl::Critic::Policy::RegularExpressions::RequireDotMatchAnything - Always use the /s modifier with regular expressions.


This Policy is part of the core Perl::Critic distribution.


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.

    my $match = m< >xm;  # not ok
    my $match = m< >xms; # ok


This Policy is not configurable except for the standard options.


Be cautious about slapping modifier flags onto existing regular expressions, as they can drastically alter their meaning. See for an interesting discussion on the effects of blindly modifying regular expression flags.


Jeffrey Ryan Thalhammer <>


Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license can be found in the LICENSE file included with this module.