You seem to have discovered that subs return lists, not arrays. I'm not sure why you want a lexical @F; seems to me that if you want to emulate perl's -a switch, you want to set the global @F and $_, and if you don't want to, using a returned arrayref is fine.
But I hope one of the things suggested by others helps you get where you want.