my $pat = qr/ ([0-9]+) (?(?{ my $n = $^N; $n <= 0 || $n >= 100 })(?!)) /x; #### my $pat = qr/0|[1-9][0-9]?/; #### my ($pat) = map qr/$_/, join '|', #map quotemeta, 1..99; #### use Regexp::List qw( ); my $pat = Regexp::List->new()->list2re( 1..99 ); #### my $pat = qr/ ([0-9]+) (?(?{ my $n = $^N; $n < 0 || $n > 100 })(?!)) /x; #### my $pat = qr/0|100|[1-9][0-9]?/; #### my ($pat) = map qr/$_/, join '|', #map quotemeta, 0..100; #### use Regexp::List qw( ); my $pat = Regexp::List->new()->list2re( 0..100 );