Тема: perl
Показать сообщение отдельно
  #6  
Старый 08.12.2018, 13:13
Brother Rabbit
Guest
 
Сообщений: n/a
По умолчанию perl

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

Нi, Michael!

07 дек 18 21:23, Michael Dukelsky -> Brother Rabbit:

BR>> sub filter()
BR>> {
BR>> $uuedir = "\/home\/fido\/uue";
BR>> # директория, в которой складывать ююки.
BR>> if ($area =~ /RU\.SEX\.SIMVOL/i) {

MD> ^^^^^^^^^^^^^^^^^^^^^
MD> Поскольку эха вроде бы одна, достаточно if(lc($area) eq "ru.sex.simvol")

Ну, да. Так, видимо, быстре будет.

BR>> if ( $text =~ /\rbegin 644[ ]+([^ \r]+)\r.*end\r/si
BR>> ){
BR>> my $ofile = "$uuedir\/$1";
BR>> w_log("uue of \"$ofile\" found.");
BR>> if (open(F, ">$ofile\.uue")){
BR>> print(F $text);
BR>> close(F);
BR>> system("uudecode -o $ofile $ofile\.uue");
#>>> -------------------------^^^^^^^ не срабатывает. Так и должно быть
#>>> или я где-то ошибся?

MD> Вроде бы никаких принципиальных запретов нет. У меня system() в
MD> filter.pl срабатывает.

Вот в этом я и сомневался.

MD> Но надо указать полный путь к uudecode.

Скорее всего в этом дело. Похоже, не наследуются переменные окружения.

MD> Если паче чаяния и это не сработает, то попробуй такой фокус:

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

Спасибо. Попробую.

Нave nice nights.
Brother Rabbit.

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