Beitrag von hempelr (1976 Beiträge) am Montag, 3.Februar.2003, 21:08.  
Verstehe den Unterschied nicht -if else - ? :
hallo,
wieso geben folgende Konstrukte, die doch eigentlich logisch gleich sind unterschiedliche Ergebnisse:
------ schnipp -----
sub _opt_min
{my $_min = ($_[0] ne "" ? $_[0] : $min); my @lz_min = (0..60); my $_a_opt_min;   
my $_min = ($_[0];
   foreach (@lz_min)
   { $_=(length($_)==1 ? "0$_" : $_); # fuerende Null bei einstelligen Werten einbauen (Danke Sander!)
      if ($_ eq $_min)
      {$_a_opt_min.="<option selected value=\"$_\">$_</option>"
      }else
      {$_a_opt_min.="<option value=\"$_\">$_</option>";
      }
   }
   return ($_a_opt_min);
}
 --- schnapp -----
Hier wird das Optionfeld richtig wie erwartet ausgegeben, mit dem selected auf dem übergebenen Wert, aber hier:
---schnipp ----
sub _opt_stund
my $_stund = ($_[0] ne "" ? $_[0] : $stund); my @lz_stund = (0..24); my $_a_opt_stund; # ........ Optionfeld Tageszahl ........ #
   foreach (@lz_stund)
   { $_=(length($_)==1 ? "0$_" : $_); # fuerende Null bei einstelligen Werten einbauen (Danke Sander!)
   ($_ eq $_stund ? $_a_opt_stund.="<option selected value=\"$_\">$_</option>" : $_a_opt_stund.="<option value=\"$_\">$_</option>"); }
    return ($_a_opt_stund);
}
 --- schnapp ----
Hier bringt er auch ein schönes Optionfeld, aaaber - der selected Wert steht auf dem übergebenen, wie erwartet, nur ist der gleiche Wert noch mal in der Option-Liste als nicht selected. Also es stehen hier zweimal der gleiche Wert drin (erst der selected und dann der nicht selected)
Wie kommt das zustande?
Ruben