my $c1 = 0; $c1 += 1 for @array; my $c2 = grep {$_ || !$_} @array; my $c3 = 0; L1: goto L2 unless @array % 2; $c3++; pop @array; L2: goto L3 unless @array; $c3 *= 2; splice @array, 0 @array / 2; goto L1; L3: my $c4 = do {local $" = "+"; eval "@{[map {1} @array]}"}; my $c5 = length join "", map " ", @array; use POSIX 'ceil'; my $c6 = ceil((length join " ", map "", @array)/2); my $c7 = 0; $c7++, shift @array while @array;