It's not clear whether "insert a new line after every even element" means insert a newline character at the end of each even element, or insert a new element (a newline) after each previously even element. While you probably
mean the former, a solution to the latter is:
for my $i (reverse(0..$#array/2)) {
splice(@array, 2*$i+1, 0, "\n");
}