Показать сообщение отдельно
Старый 20.05.2005, 17:35   #7
d_blacky
The God of Void
 
Регистрация: 05.03.2004
Сообщений: 217
По умолчанию RE: mmc: nosave() все сохраняет.

Ну че такое nosave, это:
Цитата:
sub nosave(@) {
for my $f (@_) {
$U::_nosave_vars{$f}=1;
}
}
как видишь хеш куда заносится имя переменной и значение "1", чтобы в последствии можно было писать "!$U::_nosave_vars{$_}".
Позжее этот хеш юзается только в:
Цитата:
sub save_vars {
no strict 'refs';
join("\n",(map { join("\t",$_,${"U::$_"}) } sort { $a cmp $b } grep { defined(${"U::$_"}) && !$U::_nosave_vars{$_} && !$::bad_vars{$_} } keys %U::),keys %U::_nosave_vars);
}
которое в последствии пихается в .ini файл строчкой:
Цитата:
set_section_handler("vars",\&load_vars,\&save_vars );
Вообщем если ты по-детально то что я во 2-ой цитате заквотил разберешь то я думаю найдешь в чем тут трабла, мне пока что не до этого.
Т.к. просто глючить тут нечему - либо sub save_vars, либо в $U::_nosave_vars не правильно имена переменных заносятся.
d_blacky вне форума   Ответить с цитированием