Удалите косые черты из вашего регулярного выражения:
my $name = qr{(\w+)};
Поскольку вы заключаете регулярное выражение в qr{}
, все, что внутри фигурных скобок, интерпретируется как регулярное выражение.Поэтому, если бы вы расширили свой поиск, это было бы:
print "ok\n" if $line ~~ /\/(\w+)\//;
Поскольку ваша строка не начинается или не заканчивается косой чертой (или не имеет каких-либо подстрок, которые делают), тогда совпадение не будет выполненои вы не печатаете ok
.