#3681From:Eugene Grosbein
To:Brother Rabbit
Date:09-12-2018 21:50:16
Subj:Re: uudecode
09 дек. 2018, воскресенье, в 11:59 NOVT, Brother Rabbit написал(а):

BR> Почему иногда поломаные файлы в результате получаются? Что я не так сделал?

Всё. Лучше использовать готовый модуль Convert::UU:
*****://******.*****/pod/distribution/Convert-UU/lib/Convert/UU.pm

BR> === Import Windows Clipboard Start ===
BR> $uuedir = "\/home\/fido\/uue";

Обратные слеши не нужны низачем, а только ухудшают читабельность.
Двойные кавычки тоже не нужны, если внутри нет переменных
для интерполяции - одинарные кавычки для строковых литералов
самое то.

BR> # директория, в которой складывать разююки.
BR> if (defined($area)) {
BR> if ( $text =~ /\rbegin 644[ ]+([^ \r]+)\r(.*\r)end\r/i ){

Текстовые файлы под Windows по умолчанию открываются в режиме ":crlf",
но не помешает и явно указать это при открытии, см. perldoc open.
И не нужно использовать \r вместо нормальных ^ и $ для обозначения
начала и конца строки, в том числе и для многострочных переменных -
используй /m при матчинге (perldoc perlre).

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
#3682From:Brother Rabbit
To:Eugene Grosbein
Date:10-12-2018 10:07:21
Subj:uudecode
Hi, Eugene!

09 дек 18 21:50, Eugene Grosbein -> Brother Rabbit:

BR>> Почему иногда поломаные файлы в результате получаются? Что я не так
BR>> сделал?

EG> Всё. Лучше использовать готовый модуль Convert::UU:
EG> *****://******.*****/pod/distribution/Convert-UU/lib/Convert/UU.pm

О! Спасибо.

BR>> # директория, в которой складывать разююки.
BR>> if (defined($area)) {
BR>> if ( $text =~ /\rbegin 644[ ]+([^ \r]+)\r(.*\r)end\r/i ){

EG> Текстовые файлы под Windows по умолчанию открываются в режиме ":crlf",

Гм. Тут файл и не открывается, да, и не виндовс. Переменная $text содержит тело фидошной мессаги.

EG> но не помешает и явно указать это при открытии, см. perldoc open.
EG> И не нужно использовать \r вместо нормальных ^ и $ для обозначения
EG> начала и конца строки, в том числе и для многострочных переменных -
EG> используй /m при матчинге (perldoc perlre).

Ага. А в чем разница? Срабатывает же без ошибок. Проблема-то в другом. Может и вправду нужно по одниму символу раскодировать ююк, а не построчно?

Have nice nights.
Brother Rabbit.

--- Хороший собеседник не только внимательно слушает, но и вовремя наливает.
* Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
SEEN-BY: 460/58 5858 5020/545 1042 4441 6090/1
PATH: 460/5858 58 5020/545 4441 1042 6090/1