Skeeve: Geht das? my @arr = ($text =~ m/regex/) || (0)

Beitrag lesen

Moin!

Trotzdem verstehe ich noch nicht ganz, warum meine erste Lösung nicht funktioniert. Z.B. funktioniert ja auch

sub bla {
  my $text = shift || 'blabla';
  ...
}

shift liefert ja auch stets dasselbe, nämlich einen scalar. m// lefert aber, je nach Kontext, einen scalar (1 oder undef) oder ein Array (die geklammerten Ausdrücke). Hier bindet das || so stark, daß sich der skalare Kontext auswirkt.  
  
\-- Skeeve