BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 23:15

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Помогите понять manad
СообщениеДобавлено: 15 мар 2012, 10:24 
Не в сети

Зарегистрирован: 15 фев 2012, 20:24
Сообщения: 88
Карма: 0
Разбираю код скрипта, перл знаю только на уровне простых скриптов поэтому такая конструкция мне взрывает мозг:
Код:
foreach my $i ( keys %N ) { $CLUSERULEN{$kod} .= exists $CLUSERULEN{$kod} && $CLUSERULEN{$kod} ne "" ? " ".$N{$i} : $N{$i}; }

Особенно интересует то что внутри цикла,
Код:
$CLUSERULEN{$kod} .=
Это я так понимаю делает конкантенацию строки
Код:
$CLUSERULEN{$kod}
со строкой с правой стороны. Но с правой стороны логические операторы ). Объясните кто нить плиз

И еще,
вот это код по моему выполнится всего раз

Код:
my @N = split( / /, $CLUSERULEN{$kod} );
foreach my $i ( @N )
                {
                        $err = `$ipfw delete $i`;
                        delete $USERULEN{$i};
                }

Цикл тут это какая то задумка которую я не понял или он действительно не нужен и можно так ?
Код:
my @N = split( / /, $CLUSERULEN{$kod} );
$err = `$ipfw delete $N[0]`;
delete $USERULEN{$N[0]};
}


Еще хотелось бы знать как посмотреть реализацию manad на стороне биллинга для 5.2?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите понять manad
СообщениеДобавлено: 17 мар 2012, 15:41 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
1) a.=b эквивалентно а=a.b; ( точка - конкатенация. аналогично есть операции a+=b и др.)

2) внутри цикла с правой стороны присваивания аналог условного оператора if-else. Если рассматривать только правую часть, то как пример будет max = a>b ? a : b; Думаю смысл сразу понятен.

Ну а в контексте скрипта к $CLUSERULEN{$kod} добавляем (приклеиваем) $N{$i} с пробелом впереди если $CLUSERULEN{$kod} не пустой или просто $N{$i} если он пустой (приклеивается первый элемент).

3) my @N = split( / /, $CLUSERULEN{$kod} ); - разбиваем $CLUSERULEN{$kod} на элементы, которые помещаются в массив @N. В качестве разделителя - пробел (шаблон разделителя / /). Ну а дальше цикл перебирает ВСЕ элементы массива.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите понять manad
СообщениеДобавлено: 17 мар 2012, 19:26 
Не в сети

Зарегистрирован: 15 фев 2012, 20:24
Сообщения: 88
Карма: 0
Спасибо за инфу, реализацию Manad нашел на вики, по ней вопросов нет.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.073s | 24 Queries | GZIP : On ]