Win8 Strawberry 5.8.9.5 (32) Thu 04/15/2021 1:56:15 C:\@Work\Perl\monks >perl use strict; use warnings; use Test::More 'tests' => 2; 1..2 use Test::NoWarnings; my $rqr = qr/\.(?:txt|png)$/i; # regex as Regexp object my $rsq = '(?i)\.(?:txt|png)$'; # regex as single-quoted string my @Inputs = qw( x.txt .txt x.png .png x.TxT .tXt x.pNg .PnG txt png .txtx .pngx foo xtxtx ); my @mqr = grep { $_ =~ $rqr } @Inputs; # matches from qr regex my @msq = grep { $_ =~ $rsq } @Inputs; # matches from '' regex print "qr matches: @mqr \n"; is_deeply \@mqr, \@msq, 'qr// vs q//'; ^Z qr matches: x.txt .txt x.png .png x.TxT .tXt x.pNg .PnG ok 1 - qr// vs q// ok 2 - no warnings