Hi, Eugene!
10 июн 19 16:36, Eugene Grosbein -> Brother Rabbit:
BR>> Опечатка в тексте письма. В коде правильно.
EG>>> и вообще писать аккуратно. И почитать perldoc perlre.
BR>> Там сказано, что \b{} для юникода работает начиная с версии 5.22.
EG> \b{} не то же самое, что \b
Я знаю.
EG>>> #!/usr/local/bin/perl
EG>>> use 5.22.0;
BR>> \b тоже только с 5.22 работает?
EG> Hет.
Ну, вот, у меня не работает.
[fido@BroRabbit ~]$ perl -v
This is perl 5, version 22, subversion 3 (v5.22.3) built for
x86_64-linux-thread-multi
BR>> В любом случае, в перлхуке HPT не получается
BR>> использовать use 5.22.0;, т.к. ругается на необявление всех переменных, в
BR>> т.ч. и вшитых в HPT перлхук.
EG> Hе думаю, что это из-за use 5.22.0 - скорее, из-за use strict.
Именно с включением этого появляется, с выключением пропадает.
EG> Hо use strict по умолчанию врубает целую пачку разных проверок,
EG> каждый тип проверки выдаёт своё сообщение. Так что показывай,
EG> что конкретно пишет.
6 07:42:01 PERL: Global symbol "%config" requires explicit package name (did
you forget to declare "my %config"?) at /home/fido/perl/
fidogle.pm line 82.
6 07:42:01 PERL: Global symbol "$warn_addr" requires explicit package name
(did you forget to declare "my $warn_addr"?) at /home/fido/perl/
fidogle.pm line
82.
6 07:42:01 PERL: Global symbol "$UNS" requires explicit package name (did you
forget to declare "my $UNS"?) at /home/fido/perl/
fidogle.pm line 83.
6 07:42:01 PERL: Global symbol "$from_name" requires explicit package name
(did you forget to declare "my $from_name"?) at /home/fido/perl/
fidogle.pm line
83.
6 07:42:01 PERL: Global symbol "@Via" requires explicit package name (did you
forget to declare "my @Via"?) at /home/fido/perl/
fidogle.pm line 84.
6 07:42:01 PERL: Global symbol "$hpt_version" requires explicit package name
(did you forget to declare "my $hpt_version"?) at /home/fido/perl/
fidogle.pm
line 85.
6 07:42:01 PERL: Global symbol "%config" requires explicit package name (did
you forget to declare "my %config"?) at /home/fido/perl/
fidogle.pm line 85.
6 07:42:01 PERL: Global symbol "%config" requires explicit package name (did
you forget to declare "my %config"?) at /home/fido/perl/
fidogle.pm line 85.
BR>> [...skipped...]
EG>>> \b обозначает границу слова в регулярных выражениях.
EG>>> backspace оно обозначает внутри классов символов (в квадратных скобках)
EG>>> и вне регулярных выражений при интерполяции строк.
BR>> Вот, а еще сказано, что m// обрабатывается так же, как строка в двойных
BR>> кавычках и там возможа подстановка переменных. Это меня и смутило.
EG> Цитату в студию.
Я за эту неделю столько доки по этой теме выкурил, что сейчас и не вспомню, в
которой так было сказано.