Just to clarify something here, you got the correct answer
for what you asked perl to do. split() expects a scalar,
which caused @_ to be evaluated in scalar context. In this
case that was 1, since you where sending but one arguement
to the subroutine. split() applied your regex and returned
(1,undef,undef).
I might suggest you read up on -w and use strict; as well - it would have at least flagged a warning on that line. It will also save you a lot of grief sooner or later.
mikfire