zahada v perle

Sekcia: Programovanie 21.05.2010 | 15:55
stevo   Návštevník
zdravim, vysvetlite mi prosim niekto perlu znaly, preco je toto zle:

while(<DOCASUB>)
{
chomp;
@hodnota = map {$_ eq 'x' ? '' : $_} split ;
}

to za otaznikom je prazdny retazec. Syntakticky je to spravne, ale debugovanim som zistil, ze mi to zapisuje v pamati na nahodne miesto nesuvisiace s tymito premennymi
ked som to zmenil takto:

while($riadok = <DOCASUB>)
{
chomp $riadok;
@hodnota = map({$_ eq 'x' ? '' : $_} split(' ', $riadok));
}

uz to bolo OK
    • Re: zahada v perle 21.05.2010 | 16:57
      peter   Návštevník
      pozri si co je premenna $_
      • Re: zahada v perle 21.05.2010 | 19:03
        stevo   Návštevník
        Viem co je premenna $_ . Mohol by si prosim Ta polopate povedat, preco ju nemozem pouzit tak, ako som ju pouzil v prvom pripade?
        • Re: zahada v perle 25.05.2010 | 16:47
          peter   Návštevník
          mozno som tresol blbost...:)

          teraz to skusam a zda sa mi, ze to robi to iste...tak neviem.