forum.wfido.ru

forum.wfido.ru (https://forum.wfido.ru/index.php)
-   RU.HUSKY (https://forum.wfido.ru/forumdisplay.php?f=80)
-   -   remap & recived (https://forum.wfido.ru/showthread.php?t=78142)

Mikhail Stakhanov 20.01.2019 18:21

remap & recived
 
Mikhail Stakhanov написал(а) к All в Jan 19 17:00:56 по местному времени:

Здравствуйте, All!

Скажите мне еще раз не нашел...
стоит ремап 932 - > 932.1
когда приходит письмо на 932.1 его дест.адрес 932, поэтому хаска 932.1 берет и отсылает его на 932,
на 932 видит письмо адресованое на 932 и опять его ремапит на 932.1 и так до бесконечности
я так понимаю если я посталю флаг rcvd на 932.1 то больше он его никуда не пошлет.
Или как у кого реализовано ?

Всего наилучшего, Mikhail
--- GoldED+/W32-MINGW 1.1.5-b20120519

Brother Rabbit 20.01.2019 19:52

remap & recived
 
Brother Rabbit написал(а) к Mikhail Stakhanov в Jan 19 18:33:54 по местному времени:

Нi, Mikhail!

20 янв 19 17:00, Mikhail Stakhanov -> All:

MS> Скажите мне еще раз не нашел...
MS> стоит ремап 932 - > 932.1
MS> когда приходит письмо на 932.1 его дест.адрес 932, поэтому хаска 932.1
MS> берет и отсылает его на 932, на 932 видит письмо адресованое на 932 и
MS> опять его ремапит на 932.1 и так до бесконечности я так понимаю если я
MS> посталю флаг rcvd на 932.1 то больше он его никуда не пошлет. Или как у
MS> кого реализовано ?

У меня реализовано так:

В конфиге НPT
hptperlfile /home/fido/perl/filter.pl

В файле /home/fido/perl/filter.pl
#!/usr/bin/perl

$readdress{0}="2:460/5858";
$readdress{1}="2:460/58.58";
$readdress{2}="2:460/58.10";

sub filter()
{
if (!defined $area) {
# is netmail
#--- copy my mail ---------------
my $i = 0;
while( defined @{$config{addr}}[$i] ){
if( $toaddr eq @{$config{addr}}[$i] ) {
$text =~ s/\x01INTL[ ]\d+\:\d+\/\d+[ ]\d+\:\d+\/\d+\r//s;
$text =~ s/\x01TOPT[ ]\d+\r//s;
$k = 0;
while( defined $readdress{$k} ){
if ( $fromaddr ne $readdress{$k} ) {
putMsgInArea( "NetMail", $fromname, $toname, $fromaddr,
$readdress{$k}, $subject, $date, $attr,
"\001Rem: copy to $readdress{$k}\r$text", 2 );
$change = 1;
}
$k++;
}
}
$i++;
}
#--- copy my mail end ---------------
}
}


Нave nice nights.
Brother Rabbit.

--- Самое страшное не то, что мы теперь взрослые. А то, что взрослые теперь мы

Vladimir Fyodorov 20.01.2019 20:13

remap & recived
 
Vladimir Fyodorov написал(а) к Brother Rabbit в Jan 19 19:06:27 по местному времени:

Разнообразно приветствую!

BR> $readdress{0}="2:460/5858";
BR> $readdress{1}="2:460/58.58";
BR> $readdress{2}="2:460/58.10";

На какой бы из этих адресов ни пришло письмо, оно скопируется на два других? То, что нужно. Пытался сделать это с помощью rntrack, но не осилил его настроить.

--
Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Пропала несущая? Заплатите налоги!
--- Нotdoged/2.13.5/Android

Mikhail Stakhanov 20.01.2019 23:12

Re: remap & recived
 
Mikhail Stakhanov написал(а) к Brother Rabbit в Jan 19 21:36:46 по местному времени:

Здравствуйте, Brother!

Ответ на сообщение Brother Rabbit (2:460/5858) к Mikhail Stakhanov, написанное 20 янв 19 в 18:33:

BR> $text =~ s/\x01INTL[ ]\d+\:\d+\/\d+[ ]\d+\:\d+\/\d+\r//s;
BR> $text =~ s/\x01TOPT[ ]\d+\r//s;
можешь пояснить что делают эти строки ?

BR> $k = 0;

BR> while( defined $readdress{$k} ){
BR> if ( $fromaddr ne $readdress{$k} ) {
BR> putMsgInArea( "NetMail", $fromname, $toname,
BR> $fromaddr,
BR> $readdress{$k}, $subject, $date, $attr,
BR> "\001Rem: copy to $readdress{$k}\r$text", 2 );
BR> $change = 1;
что такое $change=1; ?

Спасибо заранее, просто чтобы не как попка дурак скопировать а понять как это работает ?

насколько я понял берутся все адреса и конфига и пересылаются на 3 верхних адреса, так ?


BR> --- Самое страшное не то, что мы теперь взрослые. А то, что взрослые
BR> теперь мы
BR> * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)

Всего наилучшего, Mikhail
--- GoldED+/W32-MINGW 1.1.5-b20120519

Brother Rabbit 21.01.2019 02:21

remap & recived
 
Brother Rabbit написал(а) к Vladimir Fyodorov в Jan 19 00:46:40 по местному времени:

Нi, Vladimir!

20 янв 19 19:06, Vladimir Fyodorov -> Brother Rabbit:

VF> Разнообразно приветствую!

BR>> $readdress{0}="2:460/5858";
BR>> $readdress{1}="2:460/58.58";
BR>> $readdress{2}="2:460/58.10";

VF> На какой бы из этих адресов ни пришло письмо, оно скопируется на два
VF> других?

Нет. На какой бы из моих АКА в конфиге НPT... скопируется на все эти адреса.

VF> То, что нужно. Пытался сделать это с помощью rntrack, но не осилил
VF> его настроить.

Но можно так же реализовать и то, что ты хочешь. rntrack для этого совсем не нужен.

Добавляем перед while( defined @{$config{addr}}[$i] ) аналогичную конструцию

my $i = 0;
while( defined $readdress{$i} ){
if( $toaddr eq $readdress{$i} ) {
$k = 0;
while( defined $readdress{$k} ){
if ( $fromaddr ne $readdress{$k} ) {
putMsgInArea( "NetMail", $fromname, $toname, $fromaddr,
$readdress{$k}, $subject, $date, $attr,
"\001Rem: copy to $readdress{$k}\r$text", 2 );
}
$k++;
}
}
$i++;
}


Нave nice nights.
Brother Rabbit.

--- Если ложка не стоит в сметане, очевидно, виновата не ложка!

Brother Rabbit 21.01.2019 02:21

remap & recived
 
Brother Rabbit написал(а) к Mikhail Stakhanov в Jan 19 00:57:56 по местному времени:

Нi, Mikhail!

20 янв 19 21:36, Mikhail Stakhanov -> Brother Rabbit:

BR>> $text =~ s/\x01INTL[ ]\d+\:\d+\/\d+[ ]\d+\:\d+\/\d+\r//s;
BR>> $text =~ s/\x01TOPT[ ]\d+\r//s;

MS> можешь пояснить что делают эти строки ?

Удаляют кладжи @INTL и @TOPT. Вообще-то, должно работать и без этого, но у меня НPT собрался с перлом таким образом, что без этого портит скопированые мессаги. Выкусывает из них куски в произволиных местах. Обычно в начале и в конце.

BR>> $k = 0;

BR>> while( defined $readdress{$k} ){
BR>> if ( $fromaddr ne $readdress{$k} ) {
BR>> putMsgInArea( "NetMail", $fromname, $toname,
BR>> $fromaddr,
BR>> $readdress{$k}, $subject, $date, $attr,
BR>> "\001Rem: copy to $readdress{$k}\r$text", 2 );
BR>> $change = 1;

MS> что такое $change=1; ?

Говорит НPT, что текст письма изменился и нужно его обновить перед записью в базу.

MS> Спасибо заранее,

Не за что.

MS> просто чтобы не как попка дурак скопировать а понять как это
MS> работает?

Спрашивай, ежели чего.

MS> насколько я понял берутся все адреса и конфига и пересылаются на 3
MS> верхних адреса, так ?

Да. Все, что пришло на любой из АКА из конфига пересылается на перечисленные адреса, кроме того, с которого пришло, если он из списка (сам себе писал).

PS: У меня еще там разююкивалка из всех эх есть. Нада?

Нave nice nights.
Brother Rabbit.

--- Когда я ем - я глух и нем. Когда я пью - я гораздо коммуникабельней.

Alexey Vissarionov 21.01.2019 06:38

remap & recived
 
Alexey Vissarionov написал(а) к Brother Rabbit в Jan 19 05:04:44 по местному времени:

Доброго времени суток, Brother!
20 Jan 2019 18:33:54, ты -> Mikhail Stakhanov:

MS>> когда приходит письмо на 932.1 его дест.адрес 932, поэтому хаска 932.1
MS>> берет и отсылает его на 932, на 932 видит письмо адресованое на 932 и
MS>> опять его ремапит на 932.1 и так до бесконечности я так понимаю если я
MS>> посталю флаг rcvd на 932.1 то больше он его никуда не пошлет. Или как
MS>> у кого реализовано ?
BR> У меня реализовано так:
BR> В конфиге НPT
BR> hptperlfile /home/fido/perl/filter.pl
BR> В файле /home/fido/perl/filter.pl
BR> #!/usr/bin/perl
BR> $readdress{0}="2:460/5858";
BR> $readdress{1}="2:460/58.58";
BR> $readdress{2}="2:460/58.10";

Мои глаза... как это развидеть?

my @dest_addr = qw
(
2:460/5858
2:460/58.58
2:460/58.10
);


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Кликайте, и вам откликнется!
--- /bin/vi

Vladimir Fyodorov 21.01.2019 10:12

Re: remap & recived
 
Vladimir Fyodorov написал(а) к Brother Rabbit в Jan 19 08:42:56 по местному времени:

Разнообразно приветствую тебя, Brother!

21 Января 2019, Brother Rabbit писАл к Vladimir Fyodorov следующее:

BR>>> $readdress{0}="2:460/5858";
BR>>> $readdress{1}="2:460/58.58";
BR>>> $readdress{2}="2:460/58.10";
VF>> На какой бы из этих адресов ни пришло письмо, оно скопируется на
VF>> два других?
BR> Добавляем перед while( defined @{$config{addr}}[$i] ) аналогичную
BR> конструцию

Спасибо, надо будет попробовать.

Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Не так страшен пилот, как его пилотка
--- GoldED+/OSX 1.1.5-b20180707

Brother Rabbit 21.01.2019 11:13

remap & recived
 
Brother Rabbit написал(а) к Alexey Vissarionov в Jan 19 09:59:14 по местному времени:

Нi, Alexey!

21 янв 19 05:04, Alexey Vissarionov -> Brother Rabbit:

BR>> В файле /home/fido/perl/filter.pl
BR>> #!/usr/bin/perl
BR>> $readdress{0}="2:460/5858";
BR>> $readdress{1}="2:460/58.58";
BR>> $readdress{2}="2:460/58.10";

AV> Мои глаза... как это развидеть?

AV> my @dest_addr = qw
AV> (
AV> 2:460/5858
AV> 2:460/58.58
AV> 2:460/58.10
AV> );

И какая разница? ;)

Нave nice nights.
Brother Rabbit.

--- Коньки и ласты - что суждено отбросить, того уже не склеишь...

Brother Rabbit 21.01.2019 11:22

remap & recived
 
Brother Rabbit написал(а) к Vladimir Fyodorov в Jan 19 10:00:06 по местному времени:

Нi, Vladimir!

21 янв 19 08:42, Vladimir Fyodorov -> Brother Rabbit:

BR>>>> $readdress{0}="2:460/5858";
BR>>>> $readdress{1}="2:460/58.58";
BR>>>> $readdress{2}="2:460/58.10";
VF>>> На какой бы из этих адресов ни пришло письмо, оно скопируется на
VF>>> два других?
BR>> Добавляем перед while( defined @{$config{addr}}[$i] ) аналогичную
BR>> конструцию

VF> Спасибо, надо будет попробовать.

Я и сам не пробовал. Может дупов наплодить. Это я находу сочинил. Скорее всего там правильней будет
if ( $fromaddr ne $readdress{$k} && $toaddr ne $readdress{$k} )

Нave nice nights.
Brother Rabbit.

--- Самое страшное не то, что мы теперь взрослые. А то, что взрослые теперь мы

Rinat H. Sadretdinow 21.01.2019 12:21

remap & recived
 
Rinat H. Sadretdinow написал(а) к Brother Rabbit в Jan 19 11:10:38 по местному времени:

Нello Brother!

21 Jan 19 09:59, you wrote to Alexey Vissarionov:

BR>>> $readdress{0}="2:460/5858";
BR>>> $readdress{1}="2:460/58.58";
BR>>> $readdress{2}="2:460/58.10";

AV>> Мои глаза... как это развидеть?

AV>> my @dest_addr = qw
AV>> (
AV>> 2:460/5858
AV>> 2:460/58.58
AV>> 2:460/58.10
AV>> );

BR> И какая разница? ;)

Работает так же, но у Виссарионова красивше, а у тебя похоже на индусскую копипасту.

Bye!

--- GoldED+/LNX 1.1.5-b20170303

Brother Rabbit 21.01.2019 13:12

remap & recived
 
Brother Rabbit написал(а) к Rinat H. Sadretdinow в Jan 19 11:59:56 по местному времени:

Нi, Rinat!

21 янв 19 11:10, Rinat Н. Sadretdinow -> Brother Rabbit:

BR>>>> $readdress{0}="2:460/5858";
BR>>>> $readdress{1}="2:460/58.58";
BR>>>> $readdress{2}="2:460/58.10";

AV>>> Мои глаза... как это развидеть?

AV>>> my @dest_addr = qw
AV>>> (
AV>>> 2:460/5858
AV>>> 2:460/58.58
AV>>> 2:460/58.10
AV>>> );

BR>> И какая разница? ;)

RНS> Работает так же, но у Виссарионова красивше,

Не спорю.

RНS> а у тебя похоже на индусскую копипасту.

В моем случае понятней для чтения.

Нave nice nights.
Brother Rabbit.

--- Мне бесполезно что-либо запрещать, я и так не собираюсь ничего делать.

Rinat H. Sadretdinow 21.01.2019 16:21

remap & recived
 
Rinat H. Sadretdinow написал(а) к Brother Rabbit в Jan 19 15:14:00 по местному времени:

Нello Brother!

21 Jan 19 11:59, you wrote to me:

RНS>> а у тебя похоже на индусскую копипасту.
BR> В моем случае понятней для чтения.

[offtopic on]

Ничуть. У него не только красивше, но и как раз понятнее для чтения.

[offtopic off]

Bye!

--- GoldED+/LNX 1.1.5-b20170303

Michael Dukelsky 21.01.2019 17:12

remap & recived
 
Michael Dukelsky написал(а) к Brother Rabbit в Jan 19 15:44:16 по местному времени:

Привет, Brother!

21 Jan 19 11:59, Brother Rabbit послал(а) письмо к Rinat Н. Sadretdinow:

BR>>>>> $readdress{0}="2:460/5858";
BR>>>>> $readdress{1}="2:460/58.58";
BR>>>>> $readdress{2}="2:460/58.10";

AV>>>> Мои глаза... как это развидеть?

AV>>>> my @dest_addr = qw
AV>>>> (
AV>>>> 2:460/5858
AV>>>> 2:460/58.58
AV>>>> 2:460/58.10
AV>>>> );

BR>>> И какая разница? ;)

RНS>> Работает так же, но у Виссарионова красивше,

BR> Не спорю.

Дело не в "красивше". Во-первых, ты зачем-то задаёшь три элемента хеша, но пользуешься этим хешем по существу как массивом. Логичней задавать это массивом и использовать цикл for(). Можно задавать массив так, как написал Виссарионов, но я предпочитаю без qw, но с запятыми:

my @dest_addr=
(
2:460/5858,
2:460/58.58,
2:460/58.10,
);

Во-вторых, лично я идентификатор "readdress" прочёл как "read dress" и представил себе платье, на котором напечатано много (возможно неприличного) текста. :) В этом плане "dest_addr" не вызывает ненужных ассоциаций и вообще понятней, о чём речь.

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

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20170303

Michael Dukelsky 21.01.2019 19:22

remap & recived
 
Michael Dukelsky написал(а) к Brother Rabbit в Jan 19 18:05:08 по местному времени:

Привет, Brother!

21 Jan 19 15:44, Michael Dukelsky послал(а) письмо к Brother Rabbit:

MD> Дело не в "красивше".

Чтобы не быть голословным, переписал твой скрипт в соответствии со своим предыдущим письмом. Написанное не проверял.

my @dest_addr=
(
2:460/5858,
2:460/58.58,
2:460/58.10,
);

sub filter()
{
if (!defined $area)
{
# it is netmail
#--- copy my mail ---------------
for my $config_addr (@{$config{addr}})
{
if( $toaddr eq $config_addr )
{
$text =~ s/\x01INTL \d+\:\d+\/\d+ \d+\:\d+\/\d+\r//;
$text =~ s/\x01TOPT \d+\r//;
for my $dest[b]address (@dest[/b]addr)
{
if ( $fromaddr ne $dest_address )
{
putMsgInArea( "NetMail", $fromname, $toname, $fromaddr,
$dest_address, $subject, $date, $attr,
"\001Rem: copy to $dest_address\r$text", 2 );
$change = 1;
}
}
}
}
#--- copy my mail end ---------------
}
}

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

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20170303

Brother Rabbit 24.01.2019 18:42

remap & recived
 
Brother Rabbit написал(а) к Michael Dukelsky в Jan 19 17:22:32 по местному времени:

Нi, Michael!

21 янв 19 18:05, Michael Dukelsky -> Brother Rabbit:

MD>> Дело не в "красивше".

MD> Чтобы не быть голословным, переписал твой скрипт в соответствии со своим
MD> предыдущим письмом. Написанное не проверял.

MD> my @dest_addr=
MD> (
MD> 2:460/5858,
MD> 2:460/58.58,
MD> 2:460/58.10,
MD> );

MD> sub filter()
MD> {
MD> if (!defined $area)
MD> {
MD> # it is netmail
MD> #--- copy my mail ---------------
MD> for my $config_addr (@{$config{addr}})
MD> {
MD> if( $toaddr eq $config_addr )
MD> {
MD> $text =~ s/\x01INTL \d+\:\d+\/\d+ \d+\:\d+\/\d+\r//;
MD> $text =~ s/\x01TOPT \d+\r//;
MD> for my $dest[b]address (@dest[/b]addr)
MD> {
MD> if ( $fromaddr ne $dest_address )
MD> {
MD> putMsgInArea( "NetMail", $fromname, $toname,
MD> $fromaddr,
MD> $dest_address, $subject, $date,
MD> $attr,
MD> "\001Rem: copy to
MD> $dest_address\r$text", 2 );
MD> $change = 1;
MD> }
MD> }
MD> }
MD> }
MD> #--- copy my mail end ---------------
MD> }
MD> }

Сделал вот так:

#!/usr/bin/perl

@my_aka = qw(
2:460/5858
2:460/58.58
2:460/58.10
);


sub filter()
{
# [... some stuff skipped ...]
#
#--- copy my mail ---------------
if ( istous($toaddr) == 1 || istoaka($toaddr) == 1 ) {
$text =~ s/\x01INTL[ ]\d+\:\d+\/\d+[ ]\d+\:\d+\/\d+\r//s;
$text =~ s/\x01TOPT[ ]\d+\r//s;
for my $d[b]addrr (@my[/b]aka){
if ( $fromaddr ne $d[b]addrr && $toaddr ne $d[/b]addrr) {
putMsgInArea( "NetMail", $fromname, $toname, $fromaddr,
$d_addrr, $subject, $date, $attr,
"\001Rem: copy to $d_addrr\r$text", 2 );
# $change = 1;
$newnet=1;
}
}
}
#--- copy my mail end ---------------
#
# [... some stuff skipped ...]
}

# ---- my subs -----

sub istous()
{
my ($addrr) = @_;
return 1 if !defined($addrr);
for my $cfg_addr ( @{$config{addr}} ) {
if( $addrr eq $cfg_addr ) {
return 1;
}
}
return 0;
}

sub istoaka()
{
my ($addrr) = @_;
for my $d[b]addr (@my[/b]aka){
if( $addrr eq $d_addr) {
return 1;
}
}
return 0;
}



Нave nice nights.
Brother Rabbit.

--- Не откладывай пьянку на завтра, а секс на старость.

Brother Rabbit 24.01.2019 18:42

remap & recived
 
Brother Rabbit написал(а) к Michael Dukelsky в Jan 19 17:29:00 по местному времени:

Нi, Michael!

21 янв 19 18:05, Michael Dukelsky -> Brother Rabbit:

MD>> Дело не в "красивше".

MD> Чтобы не быть голословным, переписал твой скрипт в соответствии со своим
MD> предыдущим письмом. Написанное не проверял.

MD> my @dest_addr=
MD> (
MD> 2:460/5858,
MD> 2:460/58.58,
MD> 2:460/58.10,
MD> );

MD> sub filter()
MD> {
MD> if (!defined $area)
MD> {
MD> # it is netmail
MD> #--- copy my mail ---------------
MD> for my $config_addr (@{$config{addr}})
MD> {
MD> if( $toaddr eq $config_addr )
MD> {
MD> $text =~ s/\x01INTL \d+\:\d+\/\d+ \d+\:\d+\/\d+\r//;
MD> $text =~ s/\x01TOPT \d+\r//;
MD> for my $dest[b]address (@dest[/b]addr)
MD> {
MD> if ( $fromaddr ne $dest_address )
MD> {
MD> putMsgInArea( "NetMail", $fromname, $toname,
MD> $fromaddr,
MD> $dest_address, $subject, $date,
MD> $attr,
MD> "\001Rem: copy to
MD> $dest_address\r$text", 2 );
MD> $change = 1;
MD> }
MD> }
MD> }
MD> }
MD> #--- copy my mail end ---------------
MD> }
MD> }

Сделал вот так:

#!/usr/bin/perl

@my_aka = qw(
2:460/5858
2:460/58.58
2:460/58.10
);

sub filter()
{
# [... some stuff skipped ...]
#
#--- copy my mail ---------------
if ( istous($toaddr) == 1 || istoaka($toaddr) == 1 ) {
$text =~ s/\x01INTL[ ]\d+\:\d+\/\d+[ ]\d+\:\d+\/\d+\r//s;
$text =~ s/\x01TOPT[ ]\d+\r//s;
for my $d[b]addrr (@my[/b]aka){
if ( $fromaddr ne $d[b]addrr && $toaddr ne $d[/b]addrr) {
putMsgInArea( "NetMail", $fromname, $toname, $fromaddr,
$d_addrr, $subject, $date, $attr,
"\001Rem: copy to $d_addrr\r$text", 2 );
# $change = 1;
$newnet=1;
}
}
}
#--- copy my mail end ---------------
#
# [... some stuff skipped ...]
}

# ---- my subs -----

sub istous()
{
my ($addrr) = @_;
return 1 if !defined($addrr);
for my $cfg_addr ( @{$config{addr}} ) {
if( $addrr eq $cfg_addr ) {
return 1;
}
}
return 0;
}

sub istoaka()
{
my ($addrr) = @_;
for my $d[b]addr (@my[/b]aka){
if( $addrr eq $d_addr) {
return 1;
}
}
return 0;
}

Если больше грубых косяяков нет, то может стоит в FAQ добавить? Довольно часто этот вопрос возникает.

Нave nice nights.
Brother Rabbit.

--- Не откладывай пьянку на завтра, а секс на старость.

Michael Dukelsky 24.01.2019 21:52

remap & recived
 
Michael Dukelsky написал(а) к Brother Rabbit в Jan 19 20:33:20 по местному времени:

Привет, Brother!

24 Jan 19 17:29, Brother Rabbit послал(а) письмо к Michael Dukelsky:

BR> Если больше грубых косяяков нет,

По поводу кода ответил нетмейлом.

BR> то может стоит в FAQ добавить? Довольно часто этот вопрос возникает.

Какой FAQ? Давно протухший FAQ лежал на неизменямом cvs сервере на sf.net. Нужно было привести FAQ в чувство и сделать робота, который берёт его с гитхаба и постит. За это 18-го января прошлого года взялся Лёша Виссарионов. Шесть дней назад был первый юбилей. :-)

И потом в FAQ обычно добавляют вопросы и ответы. А код кладут в репозиторий. Так что, когда код будет готов, делай pull request с кодом и с вопросом-ответом в FAQ.

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

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20170303

Mikhail Stakhanov 09.03.2019 12:03

Re: remap & recived
 
Mikhail Stakhanov написал(а) к Brother Rabbit в Mar 19 10:13:10 по местному времени:

Здравствуйте, Brother!

Ответ на сообщение Brother Rabbit (2:460/5858) к Michael Dukelsky, написанное 24 янв 19 в 17:22:

Проблема в том что для areafix тоже все уходит на .1

а почему так не работает ? (тестирую, всеравно пересылает)
кстати, перл к регистру букв восприимчив же ?

my @rotobs = ("areafix","Areafix","AreaFix","filefix","Filefix","FileFix");
my $priznak = 0;

sub filter
{
$priznak = 0;
for my $test1 (@robots)
{
if ($test1 eq $toname)
{
$priznak=1;
}
}
if (!defined $area && $priznak == 0)
{
.........



Всего наилучшего, Mikhail
--- GoldED+/W32-MINGW 1.1.5-b20120519

Alexey Vissarionov 09.03.2019 12:21

remap & recived
 
Alexey Vissarionov написал(а) к Mikhail Stakhanov в Mar 19 11:11:00 по местному времени:

Доброго времени суток, Mikhail!
09 Mar 2019 10:13:10, ты -> Brother Rabbit:

MS> Проблема в том что для areafix тоже все уходит на .1

use strict;

MS> а почему так не работает ? (тестирую, всеравно пересылает)
MS> кстати, перл к регистру букв восприимчив же ?

MS> my @rotobs =
^^^
MS> ("areafix","Areafix","AreaFix","filefix","Filefix","FileFix");

Вот и ошибка... а режим strict ее выловил бы.

MS> my $priznak = 0;

Как мне развидеть эту строчку?

MS> sub filter
MS> {
MS> $priznak = 0;
MS> for my $test1 (@robots)

man perlfunc
/grep

MS> {
MS> if ($test1 eq $toname)
MS> {
MS> $priznak=1;
MS> }
MS> }
MS> if (!defined $area && $priznak == 0)
MS> {
MS> .........




--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Профессионализм - умение оценить меру своей некомпетентности
--- /bin/vi

Mikhail Stakhanov 09.03.2019 13:23

Re: remap & recived
 
Mikhail Stakhanov написал(а) к Alexey Vissarionov в Mar 19 12:09:48 по местному времени:

Здравствуйте, Alexey!

Ответ на сообщение Alexey Vissarionov (2:5020/545) к Mikhail Stakhanov, написанное 09 мар 19 в 11:11:

AV> use strict;
понял
MS>> my @rotobs =
AV> ^^^
AV> Вот и ошибка... а режим strict ее выловил бы.
увидел
MS>> my $priznak = 0;
AV> Как мне развидеть эту строчку?
ну типа объявляю и даю начальное значение, не так ?

Всего наилучшего, Mikhail
--- GoldED+/W32-MINGW 1.1.5-b20120519

Brother Rabbit 10.03.2019 12:03

remap & recived
 
Brother Rabbit написал(а) к Mikhail Stakhanov в Mar 19 09:59:06 по местному времени:

Нi, Mikhail!

09 мар 19 10:13, Mikhail Stakhanov -> Brother Rabbit:

MS> Проблема в том что для areafix тоже все уходит на .1

Для меня это не проблема. Я просматриваю такие письма.

MS> а почему так не работает ? (тестирую, всеравно пересылает)
MS> кстати, перл к регистру букв восприимчив же ?

Да.

MS> my @rotobs =
MS> ("areafix","Areafix","AreaFix","filefix","Filefix","FileFix"); my $priznak
MS> = 0;

Зачем так? Есть же предефайнед переменная $config{areafixNames}. Остется в конфиге их описать.

MS> sub filter
MS> {
MS> $priznak = 0;
MS> for my $test1 (@robots)
MS> {
MS> if ($test1 eq $toname)
MS> {
MS> $priznak=1;
MS> }
MS> }
MS> if (!defined $area && $priznak == 0)
MS> {
MS> .........

Не-не-не.

Или вот так:

if ( $toname eq $config{sysop} ) {
#do smth. here
}

Или вот так:

sub istorobots()
{
my ($name) = @_;
for my $cfg_name ( @{$config{areafixNames}} ) {
if( $name eq $cfg_name ) {
return 1;
}
}
return 0;
}

sub filter()
{
# .......

if ( istorobots( $toname ) == 0 ) {
#do smth. here
}

# .......
}


Нave nice nights.
Brother Rabbit.

--- Если ложка не стоит в сметане, очевидно, виновата не ложка!

Brother Rabbit 10.03.2019 12:13

remap & recived
 
Brother Rabbit написал(а) к Mikhail Stakhanov в Mar 19 10:50:08 по местному времени:

Нi, Mikhail!

09 мар 19 12:09, Mikhail Stakhanov -> Alexey Vissarionov:

MS>>> my $priznak = 0;
AV>> Как мне развидеть эту строчку?

MS> ну типа объявляю и даю начальное значение, не так ?

Типа my $sign = 0; или my $flag = 0; ;)

Нave nice nights.
Brother Rabbit.

--- Свободная баба должна показывать сиськи. Замужняя не должна,но тоже вправе

Mikhail Stakhanov 10.03.2019 12:32

Re: remap & recived
 
Mikhail Stakhanov написал(а) к Brother Rabbit в Mar 19 11:09:56 по местному времени:

Здравствуйте, Brother!

Ответ на сообщение Brother Rabbit (2:460/5858) к Mikhail Stakhanov, написанное 10 мар 19 в 09:59:
Спасибо.
BR> Зачем так? Есть же предефайнед переменная $config{areafixNames}.
BR> Остется в конфиге их описать.
а где все предефайнел переменные посмотреть ?
MS>> sub filter
MS>> {
MS>> $priznak = 0;
MS>> for my $test1 (@robots)
MS>> {
MS>> if ($test1 eq $toname)
MS>> {
MS>> $priznak=1;
MS>> }
MS>> }
MS>> if (!defined $area && $priznak == 0)
MS>> {
MS>> .........
так работает :)

BR> Не-не-не.
???
BR> Или вот так:

BR> if ( $toname eq $config{sysop} ) {
BR> #do smth. here
BR> }

BR> Или вот так:

BR> sub istorobots()
BR> {
BR> my ($name) = @_;
BR> for my $cfg_name ( @{$config{areafixNames}} ) {
BR> if( $name eq $cfg_name ) {
BR> return 1;
BR> }
BR> }
BR> return 0;
BR> }

BR> sub filter()
BR> {
BR> # .......

BR> if ( istorobots( $toname ) == 0 ) {
BR> #do smth. here
BR> }

BR> # .......
BR> }

И так работает :) Спасибо!

Всего наилучшего, Mikhail
--- GoldED+/W32-MINGW 1.1.5-b20120519

Brother Rabbit 10.03.2019 15:22

remap & recived
 
Brother Rabbit написал(а) к Mikhail Stakhanov в Mar 19 14:03:06 по местному времени:

Нi, Mikhail!

10 мар 19 11:09, Mikhail Stakhanov -> Brother Rabbit:

BR>> Зачем так? Есть же предефайнед переменная $config{areafixNames}.
BR>> Остется в конфиге их описать.

MS> а где все предефайнел переменные посмотреть ?

doc\perlhooks.rus

MS>>> sub filter
MS>>> {
MS>>> $priznak = 0;
MS>>> for my $test1 (@robots)
MS>>> {
MS>>> if ($test1 eq $toname)
MS>>> {
MS>>> $priznak=1;
MS>>> }
MS>>> }
MS>>> if (!defined $area && $priznak == 0)
MS>>> {
MS>>> .........

MS> так работает :)

BR>> Не-не-не.

MS> ???

Так не нужно делать. ;)

BR>> Или вот так:

BR>> if ( $toname eq $config{sysop} ) {
BR>> #do smth. here
BR>> }

BR>> Или вот так:

BR>> sub istorobots()
BR>> {
BR>> my ($name) = @_;
BR>> for my $cfg_name ( @{$config{areafixNames}} ) {
BR>> if( $name eq $cfg_name ) {
BR>> return 1;
BR>> }
BR>> }
BR>> return 0;
BR>> }

BR>> sub filter()
BR>> {
BR>> # .......

BR>> if ( istorobots( $toname ) == 0 ) {
BR>> #do smth. here
BR>> }

BR>> # .......
BR>> }

MS> И так работает :) Спасибо!

Не за что. ;)

Нave nice nights.
Brother Rabbit.

--- Самое страшное не то, что мы теперь взрослые. А то, что взрослые теперь мы


Текущее время: 01:36. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot