The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
##############################################################################
#      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/RegularExpressions/RequireLineBoundaryMatching.run $
#     $Date: 2011-11-26 15:54:50 -0800 (Sat, 26 Nov 2011) $
#   $Author: wyant $
# $Revision: 4095 $
##############################################################################

## name basic passes
## failures 0
## cut
my $string =~ m{pattern}m;
my $string =~ m{pattern}gimx;
my $string =~ m{pattern}gmis;
my $string =~ m{pattern}mgxs;

my $string =~ m/pattern/m;
my $string =~ m/pattern/gimx;
my $string =~ m/pattern/gmis;
my $string =~ m/pattern/mgxs;

my $string =~ /pattern/m;
my $string =~ /pattern/gimx;
my $string =~ /pattern/gmis;
my $string =~ /pattern/mgxs;

my $string =~ s/pattern/foo/m;
my $string =~ s/pattern/foo/gimx;
my $string =~ s/pattern/foo/gmis;
my $string =~ s/pattern/foo/mgxs;

my $re = qr/pattern/m;

#-----------------------------------------------------------------------------

## name basic failures
## failures 17
## cut
my $string =~ m{pattern};
my $string =~ m{pattern}gix;
my $string =~ m{pattern}gis;
my $string =~ m{pattern}gxs;

my $string =~ m/pattern/;
my $string =~ m/pattern/gix;
my $string =~ m/pattern/gis;
my $string =~ m/pattern/gxs;

my $string =~ /pattern/;
my $string =~ /pattern/gix;
my $string =~ /pattern/gis;
my $string =~ /pattern/gxs;

my $string =~ s/pattern/foo/;
my $string =~ s/pattern/foo/gix;
my $string =~ s/pattern/foo/gis;
my $string =~ s/pattern/foo/gxs;

my $re = qr/pattern/;

#-----------------------------------------------------------------------------

## name tr and y checking
## failures 0
## cut
my $string =~ tr/[A-Z]/[a-z]/;
my $string =~ tr|[A-Z]|[a-z]|;
my $string =~ tr{[A-Z]}{[a-z]};

my $string =~ y/[A-Z]/[a-z]/;
my $string =~ y|[A-Z]|[a-z]|;
my $string =~ y{[A-Z]}{[a-z]};

my $string =~ tr/[A-Z]/[a-z]/cds;
my $string =~ y/[A-Z]/[a-z]/cds;

#-----------------------------------------------------------------------------

## name use re '/m' - RT #72151
## failures 0
## cut

use re '/m';
my $string =~ m{pattern.};

#-----------------------------------------------------------------------------

## name use re qw{ /m } - RT #72151
## failures 0
## cut

use re qw{ /m };
my $string =~ m{pattern.};

#-----------------------------------------------------------------------------

## name use re qw{ /m } not in scope - RT #72151
## failures 1
## cut

{
    use re qw{ /m };
}
my $string =~ m{pattern.};

#-----------------------------------------------------------------------------

## name no re qw{ /m } - RT #72151
## failures 1
## cut

use re qw{ /smx };
{
    no re qw{ /m };
    my $string =~ m{pattern.};
}

#-----------------------------------------------------------------------------
# Local Variables:
#   mode: cperl
#   cperl-indent-level: 4
#   fill-column: 78
#   indent-tabs-mode: nil
#   c-indentation-style: bsd
# End:
# ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :