Передача подстановки регулярных выражений в качестве переменной в Perl?

Мне нужно передать регулярное выражение в качестве переменной:

sub proc {
    my $pattern = shift;
    my $txt = "foo baz";

    $txt =~ $pattern;
}

my $pattern = 's/foo/bar/';
proc($pattern);

Это, конечно, нет работа. Я пробовалзамещение:

eval("$txt =~ $pattern;");

но это нетоже не работает. Какую ужасно очевидную вещь я здесь упускаю?

Ответы на вопрос(9)

Ваш ответ на вопрос