perl liefert für erfolgreiche matches 1, und für nicht erfolgreiche matches den
leerstring. so sind booleans in perl definiert.
perl -wle'
use Data::Dumper;
$x = !1; print Dumper $x'
$VAR1 = '';
d.h., @zahlen ist in deinem beispiel nicht leer, sondern enthält einen leerstring.
d.h. ich würde negative matches (also !~) nie einem array zuweisen.\n\n
<!--EDIT|pq|1150998738-->