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

Beitrag lesen

Hallihallo,

ich habe einen Text, aus dem ich eine Zahl herauslesen möchte. Das funktioniert mit

  
my ($zahl) = $text =~ /Total:(\d+)/;  

einwandfrei.
Es kann aber auch vorkommen, dass 'Total:(\d+)' nicht im Text vorkommt, dann möchte ich die $zahl auf 0 setzen. Dafür hatte ich den Code erweitert zu

  
my ($zahl) = $text =~ /Total:(\d+)/ || (0);  

was eigentlich auch funktioniert hat. Mittlerweile denke ich, dass ich mir das eingebildet haben muss, weil es so einfach nicht mehr tut. *verrücktwerd*
Bei diesem Konstrukt kommt _immer_ "$zahl = 1" heraus, wenn der Regex matcht. Nur wenn er nicht matcht, bringt er "$zahl = 0", so wie ich mir das vorstelle.

Würde mich freuen, wenn ihr mir meinen Denkfehler zeigen könntet :-)

Danke und Grüße
Christian