[Moscow.pm] Доступ к настройкам объектов в ваших модулях
Ivan B. Serezhkin
ivan на serezhkin.com
Чт Мар 13 09:23:53 PDT 2008
Andrew Shitov wrote:
>> Конфиг евалится, и запихивается в синглтон.
>> Дальше Config->{KEY}->{subkey};
>>
>
> Если я ничего не путаю, ты в ЖЖ писал о том, что сделал, чтобы
> работало без скобок: Config->KEY->subkey.
>
> Как? Создавал кучу функций или средствами перла? :-)
>
package CFG;
use strict;
use utf8;
use Data::Dumper;
our $AUTOLOAD;
my $PREFIX='/u0/spstat';
my $inRoute=[qw(CountIp CountNetwork ShinglerTypes ProviderBlackList
MaskRealSpamers CountMailcious StoreBackLog)];
our $cfg={
sources=>{ #source => {path,regex,route}
mxfront => {
path => "$PREFIX",
regex =>
qr/mxfront\d+\.\d+\.delivery\.log(\.gz)?/,
output
=>"$PREFIX/all/all.delivery.log", #where to lay logs;
route => $inRoute,
},
. . .
}
};
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 KEYS {
return keys %{shift()};
}
sub DESTROY {
}
--
Ivan B. Serezhkin
Подробная информация о списке рассылки Moscow-pm