Hi,
$betrag = <stdin> || 0;
nein, von STDIN kommt ja mit Sicherheit was, und wenn es nur ein Enter ist. Nach
chomp($betrag)
kannst Du dann mittels
$betrag ||= 0;
obige Aktion nachholen.
So funktioniert es dort nicht!
Und die Fehlerbeschreibung ist...? ;-)
$betrag = 0;
$betrag = <stdin>;
Nützt nichts; $betrag wird ja durch STDIN komplett überschrieben. Wenn dort undef rauskommen _könnte_, wäre es das in jedem Fall, egal ob Du die Variable initialisierst oder nicht.
Aber sollte nicht $betrag gleich Null sein, wenn ich nichts über <stdin> eingebe?
Nein, sondern "\n", oder was immer lokal der Zeilenumbruch ist. Übrigens: Handler schreibt man groß, so auch STDIN.
Cheatah