in reply to using split
my( $foo, $bar ) = @_; [download]
( $a, $b ) = split(';',$abc, 2); [download]
This is no different
There are many differences between your two examples, but they do both have a list of variables on the left of the assignment operator and they both assign values to each variables.
See List value constructors for more information.