Почему smartmatch возвращает false, когда я сопоставляю регулярное выражение, содержащее косые черты?

Я пытаюсь сопоставить простую строку с шаблоном регулярного выражения с помощью оператора smartmatch:

#!/usr/bin/env perl

use strict;
use warnings;
use utf8;
use open qw(:std :utf8);

my $name = qr{/(\w+)/};
my $line = 'string';

print "ok\n" if $line ~~ /$name/;

Я ожидаю, что это выведет "ok", но это не так. Почему нет?

7
задан ThisSuitIsBlackNot 13 September 2016 в 21:24
поделиться