##############################################################################
#      $URL: http://perlcritic.tigris.org/svn/perlcritic/trunk/distributions/Perl-Critic/t/RegularExpressions/ProhibitComplexRegexes.run $
#     $Date: 2010-08-22 18:25:02 -0700 (Sun, 22 Aug 2010) $
#   $Author: clonezone $
# $Revision: 3897 $
##############################################################################

## name basic passes
## failures 0
## cut

m/foo/;
m/foo foo foo foo foo foo foo foo foo foo foo foo/;
m/foo
  foo/;

m/foo # this is a foo
  bar # this is a bar
  baz # this is a baz
  more # more more more more more
 /x;

m/





/;

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

## name basic failures
## failures 1
## cut

m/ foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo/;

## name basic failures, m//x
## failures 1
## cut

m/foo # this is a foo
  bar # this is a bar
  baz # this is a baz
  1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 # this is too long
 /x;

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

## name config
## failures 1
## parms {max_characters => 2}
## cut

m/ foo /;

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

## name failing regexp with syntax error
## failures 0
## cut

m/foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo(/x;

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

## name RT 36098 forgive long (and presumably descriptive) variable names
## failures 0
## parms {max_characters => 20}
## cut

m/ $now_is_the_time_for_all_good_men_to_come_to /;
m/ \\$now_is_the_time_for_all_good_men_to_come_to /;
m/ $now::is::the::time::for::all::good::men::to::come::to /;
m/ ${^_now_is_the_time_for_all_good_men_to_come_to} /;
m/ ${now_is_the_time_for_all_good_men_to_come_to} /;
m/ ${now::is::the::time::for::all::good::men::to::come::to} /;
m/ @now_is_the_time_for_all_good_men_to_come_to /;
m/ @{^_now_is_the_time_for_all_good_men_to_come_to} /;
m/ @{now_is_the_time_for_all_good_men_to_come_to} /;
m/ @{now::is::the::time::for::all::good::men::to::come::to} /;
m/ $#now_is_the_time_for_all_good_men_to_come_to /;
m/ $#{^_now_is_the_time_for_all_good_men_to_come_to} /;

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

## name RT 36098 things that look like interpolation but are not
## failures 3
## parms {max_characters => 20}
## cut

m/ \$now_is_the_time_for_all_good_men_to_come_to /;
m/ \\\$now_is_the_time_for_all_good_men_to_come_to /;
m' $now_is_the_time_for_all_good_men_to_come_to ';

#-----------------------------------------------------------------------------
# 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 :