Hi,
laut Doku kann man
map nicht mit
next und
last kontrollieren. In der Doku zu
next und
last steht das man diese Anweisung nicht in map-Schleifen sollte. Außer in Trübkodewettbewerben sollte man es also auch tunlichst vermeiden.
Die normale Syntax für deine Anforderung wäre eine foreach-Schleife.
Alternativ schlage ich List::MoreUtils::before() vor.
use strict;
use warnings;
use Data::Dumper;
use List::MoreUtils qw(before);
my @TillUndefSquared
= map { $_ ** 2 }
before { !defined $_ }
( 1, 2, 3, 4, undef, 'irgend', 'ein', 'Blödsinn' );