Forum Webscript.Ru

Программирование => Perl => Тема начата: frenky от 08 Мая 2005, 00:40:58

Название: жу жу жу я конекретно торможу
Отправлено: 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    

тоесть пропускаеться почемуто один ключ ......


ПОЧЕМУ????????????????
Название: жу жу жу я конекретно торможу
Отправлено: NeoNox от 08 Мая 2005, 23:23:09
Цитировать
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:
тоесть пропускаеться почемуто один ключ ......


Праздники? Какой ключ здесь пропущен?
Название: жу жу жу я конекретно торможу
Отправлено: frenky от 09 Мая 2005, 00:11:37
Должно в итоге быть

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