Przekazywanie podstawienia wyrażenia regularnego jako zmiennej w Perlu?
Muszę przekazać podstawienie wyrażenia regularnego jako zmienną:
sub proc {
my $pattern = shift;
my $txt = "foo baz";
$txt =~ $pattern;
}
my $pattern = 's/foo/bar/';
proc($pattern);
To oczywiście nie działa. Próbowałem zastąpienia:
eval("$txt =~ $pattern;");
ale to też nie zadziałało. Co za strasznie oczywista rzecz, której tu brakuje?