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

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

Привет, Brother!

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

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

BR> Нет. Я решил сразу разъююкивать, т.к. вызывать из скрипта бинарь, что
BR> бы потом за ним еще ююки удалять, мне показалось не удобно.

Ну, в общем-то это ты правильно решил.

[...skipped...]
BR> Сдедлал вот так:

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 ){
BR> @uuelines = split(/\r/,$2);
BR> my $ofile = "$uuedir\/" . uc($area) ."\/$1";
BR> mkdir "$uuedir\/" . uc($area) if !-e "$uuedir\/" .
BR> uc($area);
BR> my $i = 0;
BR> while (-e $ofile) {
BR> $ofile = "$uuedir\/".uc($area)."\/".sprintf("%08x",
BR> time()).sprintf("%02d",$i)."$1";
BR> $i++;
BR> if ($i > 255) {
BR> $ofile = "$uuedir\/" . uc($area)
BR> ."\/$1";
BR> unlink($ofile);
BR> }
BR> }
BR> # w_log("uue of \"$ofile\" found.");
BR> if (open(F, ">>$ofile")){
BR> binmode(F);
BR> foreach my $val ( @uuelines ){
BR> $uudecoded_data = unpack("u", $val);
BR> print(F $uudecoded_data);
BR> }
BR> close(F);
BR> # w_log("Dcoded \"$ofile\" from Area
BR> \"$area\".");
BR> } else {
BR> w_log("Can't open \"$ofile\"\: $!\.");
BR> }
BR> }
BR> }

BR> === Import Windows Clipboard End ===

BR> На линуксовой машине работает. Разъююкивает и по директориям
BR> раскладывает.

Прекрасно. Можно ещё несколько раз встречающийся текст "$uuedir\/" . uc($area) в самом начале записать в переменную.

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

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