sub { ( map { splice @_, 0, 2, $_[0] + ($_[1] // 0) } @_ )[-1] }->(0, @list) #### sub { ( splice(@_, 0, 0, 0), ( map $_[0] += $_, @_) )[-1] }->(@list) #### sub { splice(@_, 0, 0, 0); map $_[0] += $_, @_; $_[0] }->(@list) #### sub { my $acc = 0; map $acc += $_, @_; $acc }->(@list) #### sub { my $acc = 0; $acc += $_ for @_; $acc }->(@list)