# Compiles each pattern once since m// realises
# you're using the same pattern twice in a row.
for my $re (qw( foo bar )) {
for (1..2) {
/$re/
}
}
####
# Compiles each pattern twice
for (1..2) {
for my $re (qw( foo bar )) {
/$re/
}
}
####
# Compiles each pattern once
my @res = map qr/$_/, qw( foo bar );
for (1..2) {
for my $re (@res) {
/$re/
}
}
####
# Doesn't recompile $re if it's a qr//.
/$re/
# Stringifies and recompiles $re if it's a qr//,
# but it should be subject to the caching mentioned above.
/x$re/