[Moscow.pm] wtf or not ?
Ivan B. Serezhkin
ivan на serezhkin.com
Вт Мар 4 02:36:28 PST 2008
Dmitry Simonov wrote:
> Прикольно. Только медленно.
> Лучше сделай создание функции в автолоаде.
а вот тут и появляется wtf.
Фишка в том, что у меня есть например конфиг:
{ BigKey =>{ smallkey =>{
value => 'ZOMFG!',
} } }
придётся имена ключей на каждом уровне обёртывать в функции пакета CFG -
а это не правильно, если они на разных уровнях будут по одинаковому
называтся.
у нас действительно большие конфиги.
>
> 2008/3/4 Ivan B. Serezhkin <ivan на serezhkin.com
> <mailto:ivan на serezhkin.com>>:
>
> Dmitry Simonov wrote:
> > Пишу в личку, так как лист от меня письма не кушает (отвечать
> можно в
> > лист - прочитаю).
> > Это хитрый вид аксессора просто, который позволяет вести private
> > свойства.
> А вот и нет =)
> Это я придумал хитрый способ организации конфигов.
> use CFG;
> my $value=CFG->BigKey->smallkey->value;
> Вот только есть ли что то круче этого ?
> >
> > 2008/3/4 Ivan B. Serezhkin <ivan на serezhkin.com
> <mailto:ivan на serezhkin.com>
> > <mailto:ivan на serezhkin.com <mailto:ivan на serezhkin.com>>>:
> >
> > Привет.
> >
> > package CFG;
> > our $AUTOLOAD;
> > our $cfg= { HUGE HASH };
> >
> > sub AUTOLOAD {
> > my $key=shift;
> > my $m=$AUTOLOAD;
> > $m=~s/.*:://;
> > $key=$cfg if $key eq __PACKAGE__;
> > $key=$key->{$m};
> > return (ref $key) ? bless $key : $key;
> > }
> >
> > sub DESTROY {
> > }
> >
> > --
> > Ivan B. Serezhkin
> >
> > --
> > Moscow.pm <http://Moscow.pm> <http://Moscow.pm> mailing list
> > moscow-pm на pm.org <mailto:moscow-pm на pm.org>
> <mailto:moscow-pm на pm.org <mailto:moscow-pm на pm.org>> |
> http://moscow.pm.org
> > http://mail.pm.org/mailman/listinfo/moscow-pm
> >
> >
>
>
> --
> Ivan B. Serezhkin
>
>
--
Ivan B. Serezhkin
Подробная информация о списке рассылки Moscow-pm