Cheatah: $betrag = <stdin> || 0; Wie handeln ohne Eingabe?

Beitrag lesen

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