in reply to split every other value

Assuming you want to seperate the odd and even array indices, then you want the inverse of a zip() function - and lo and behold, Language::Functional has unzip()!

A zip function takes two lists as its input, and interleaves them, so given the lists:

qw(ant bat camel)
and
qw(aardvark bird cow)
it would spit out a list
qw(ant aardvark bat bird camel cow)
.

and unzip() does the exact opposite. Language::Functional is a very useful module indeed, despite the very low version number.