#3924From:Eugene Grosbein
To:Stas Mishchenkov
Date:22-10-2020 12:12:27
Subj:Re: мозги сломал
17 окт. 2020, суббота, в 11:15 NOVT, Stas Mishchenkov написал(а):

SM> use locale;
SM> # [...]
SM> undef $fromchrs;
SM> if ( $Text =~ /\001CHRS\:[ ]*([^ ]+)[ ]+\d+/ ) {
SM> $fromchrs = lc($1);
SM> writelog("Charset found: \'$fromchrs\'.");
SM> } else {
SM> $fromchrs = 'cp866';
SM> writelog('Warning: No @CHRS kludge. Using default
SM> }

Это не тот код, который реально работает. Этот содержит ошибки и
даже не запустится.

Кроме того, undef лишний. Отдельный пробел незачем забирать в квадратные скобки.
Двоеточие незачем экранировать. Hе отмечено, что матчинг должен идти
с начала строки. Попробуй так:

if ($Text =~ /^.CHRS:\s*([^ ]+)\s+\d+/) {

Eugene
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)
SEEN-BY: 5006/1 5020/1042 5080/102 6090/1
PATH: 5006/1 5080/102 5020/1042 6090/1