Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Поиск и замена в хеше


Автор: Igоr 8.12.2005, 11:50
Приветствую!
Подскажите плз. Есть хеш например
%H = (
name => 'fedor',
email => 'blabla',
Country => 'Russia',
nickname => 'Fedot',
pro_name => '',
.....
)

мне нужно во все ячейки ключи которых содержат "name" выставить значение 'Sergey' например...
т.е. в name, nickname, pro_name. Пробовал так
Код

while(my ($k,$v)=each(%H) {
if ($k = ~ m/name/isg){
.....}
}

но ничего не получается... как сделать подскажите плз.

Автор: ShulgaDenis 8.12.2005, 11:59
perldoc -f exists

Автор: Igоr 8.12.2005, 13:52
smile ну как юзать existsесли я знаю какие ключи там должны быть я знаю smile но никак не реализовал его для поиска совпадений в ключах... smile

Автор: Kiber_rat 8.12.2005, 14:49
Код
for (grep {/name/} keys %H) {
    $H{$_} = 'sergey';
}
или даже так
Код
$H{$_} = 'sergey' for grep {/name/} keys %H;
smile

Автор: Igоr 8.12.2005, 16:00
2 Kiber_rat
Спасибо большое ;)!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)