in reply to
Re^2: Access elements of $_
in thread Access elements of $_
Hence I'm a bit puzzled as to why I explicitly have to use an array as per your example. Is this better programming practice ?
Yes, it is - and precisely because you are puzzled :-)
As I said above, split by default splits into the array @_ whose first element is $_ - and it's a deprecated usage because it leads people to be puzzled, and because @_ also is the argument array inside subroutines; so using implicit split inside subs is probably a bad idea.