Forum Webscript.Ru
Программирование => Perl => Тема начата: frenky от 08 Мая 2005, 00:40:58
-
есть хэш %baza вида
Ключ => Значение
frenkyx,nivax => Австрия
dere,vin => Россия,2
q,q => Россия,2
w,w => Дания,1,2,0,2,0,0,3
frenky,niva => Дания,1,2,2,0,0,3,0
если пользуюсь циклом
foreach (keys %baza) {
($contry,$liga)=split(/,/,$baza{$_});
if (defined $liga) {$baza{$_}="$contry,$liga"; }
}
то получаю
Ключ => Значение
frenkyx,nivax => Австрия
dere,vin => Россия,2
q,q => Россия,2
w,w => Дания,1
frenky,niva =>Дания,1
но если
while( ($k,$v)=each %baza)
{
($contry,$liga)=split(/,/,$v);
if (defined $liga) {$baza{$k}="$contry,$liga"; }
}
frenkyx,nivax => Австрия
dere,vin => Россия,2
q,q => Россия,2
w,w => Дания,1
frenky,niva => Дания,1,2,2,0,0,3,0
тоесть пропускаеться почемуто один ключ ......
ПОЧЕМУ????????????????
-
frenky:
Ключ => Значение
frenkyx,nivax => Австрия dere,vin => Россия,2 q,q => Россия,2 w,w => Дания,1,2,0,2,0,0,3 frenky,niva => Дания,1,2,2,0,0,3,0
frenky:
frenkyx,nivax => Австрия dere,vin => Россия,2 q,q => Россия,2 w,w => Дания,1 frenky,niva => Дания,1,2,2,0,0,3,0
frenky:
тоесть пропускаеться почемуто один ключ ......
Праздники? Какой ключ здесь пропущен?
-
Должно в итоге быть
frenkyx,nivax => Австрия
dere,vin => Россия,2
q,q => Россия,2
w,w => Дания,1
frenky,niva =>Дания,1
а если пользуюсь while each то получаю
frenkyx,nivax => Австрия
dere,vin => Россия,2
q,q => Россия,2
w,w => Дания,1
frenky,niva => Дания,1,2,2,0,0,3,0
тоесть пропускаеться почемуто ключ frenky,niva