use strict; use warnings; my $opts = "io"; my $regex = "test"; while () { my $line = $_; print $line if $line =~ /(?$opts)\Q$regex\E/; } __DATA__ untested unknown