Achim Schrepfer: Wert aus einer Schleife heraus ändern?

Beitrag lesen

Hi,

my $i = 0;
foreach ($label,$artist,$title,$style,$quality)    {
         if ($_ =~ /^\s*$/)    {
         $_[$i] = '%';
         }
$i++;
}

das ist ein typischer "Schlauchsteher" ;-) die Variable $i ist überflüssig, da innerhalb der Schleife $_ eine Referenz auf die aktuelle Variable enthält. Alle Änderungen an $_ innerhalb der Schleife werden an der eigentlichen Variable durchgeführt. So müsste Dein Code funktionieren:

foreach ($label,$artist,$title,$style,$quality)    {
         if ($_ =~ /^\s*$/)    {
              $_ = '%';
         }
}

viele Grüße
  Achim Schrepfer

--
http://reskit.speedesign.de/ - PHP-Bibliothek zum automatischen Erzeugen von HTML-Tabellen, -Formularen und -Baummenüs anhand von MySQL-Tabellen
Selfcode: sh:) fo:| ch:| rl:° br:> n4:{ ie:% mo:} va:| de:< zu:| fl:( ss:) ls:& js:|