Я сейчас использую Perl 5.24, и smartmatch - отличный универсальный оператор, например,
%foobar ~~ @foo;
и все его тонкости.
Я понимаю, что начиная с 5.27 и далеефункциональность будет уменьшена до умных часов, включая
$foo = qr/foo/;
Хорошо, поэтому мне придется переписать мои конвейеры данных, чтобы они были совместимыми.
Мой вопрос, если подтвердится, в чем разницаМежду,
'foo' ~~ $foo;
и,
'foo' =~ /$foo/;
Меня поражает, что smartmatch удаляется во всех, кроме имени.Прав ли я, и если нет, то чего мне не хватает?
История
У него необычная история, и следует подчеркнуть, что она классифицируется как экспериментальная.Я пишу то, что знаю.Я думаю, что многие из вас будут знать больше, любой вклад будет полезен, потому что это пример (для студентов) языковой эволюции:
- 5.10 впервые введено
- 5.14 введено% foobar ~~Тип совпадения @foo
- 5.27 Удалено во всех, кроме имени?Все еще экспериментальный?