Не читал что здесь было написано, но мое внимание привлек кусок кода:
Код:
P::bindkey {
Common::eparser "спасти $Group::group{0}";
} "f1";
После чего немного просмотрел все-таки что было написано выше...
Очень интересный подход - вместо одномерного массива - хеш с индексами 1..12.
+ следующий код:
Код:
for (keys %group)
{
$group{$_} =~ s/\s//g;
}
будет работать медленнее чем аналогичный в foreach.
Да и убирать пробелы спомощью s///g мда...
Да и вообще вместо удаления пробелов спомощью регулярных выражений внутри цикла я бы просто изменил изначальный регекс:
Код:
} '^([^ ]+)(\s+)блаблабла
на
Код:
} '^(\w+?)\s+?блаблабла
Хотя вроде регекс "1 и более не пробельный символ" - должен получить просто имя *дум зачем там вообще цикл удаляющий пробелы в именах членов группы?
Код:
} '^([^ ]+)(\s+)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\|(.*?)\ |(.*)';
my ($name,$health,$energy,$place,$mem,$aff,$who,$pos) = ($1,$2,$3,$4,$5,$6,$7,$8);
то получается что "$health" состоит исключительно из пробелов ?
Правда дальнейшее использование этой кучи локальных переменных я так и не увидел.