Тема: perl
Показать сообщение отдельно
  #8  
Старый 08.12.2018, 14:02
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию perl

Michael Dukelsky написал(а) к Brother Rabbit в Dec 18 12:48:02 по местному времени:

Привет, Brother!

08 Dec 18 12:02, Brother Rabbit послал(а) письмо к Michael Dukelsky:

MD>> my @args = ("/path/to/uudecode", "-o", "$ofile", "$ofile\.uue");
MD>> system(@args);

BR> Я пошел другим путем. ;)

А полный путь указать не пробовал?

BR> === Import Windows Clipboard Start ===
BR> my $uudecoded_data = "";
BR> if ( $text =~ /\rbegin 644[ ]+([^ \r]+)\r(.*\r)end\r/i ){
BR> $ofile = "$uuedir\\$1";
BR> $uuelines = $2;
BR> open(F, ">>$ofile");
BR> binmode(F);
BR> while( $uuelines =~ /^([^ \r]+\r)/ ){
BR> $uudecoded_data = unpack("u", $1);
BR> print(F $uudecoded_data);
BR> $uuelines =~ s/^[^\r]+\r//;
BR> }
BR> close(F);
BR> }
BR> === Import Windows Clipboard End ===

Судя по binmode(F), это винда. А в винде как раз без приведённого мной выше фокуса system() не работает.

BR> Здесь, видимо, нужно еще проверять $ofile на наличие и если он уже
BR> есть, выбирать другое имя или удалять старый.

Да. А после open() написать or ... и дальше ругнуться в лог и прекратить обработку.

Желаю успехов, Brother!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20170303
Ответить с цитированием