in reply to why perl joins multy list parameters to one list

You do not have 2 array parameters, you have 2 lists. And the answer is: because Perl is designed to flatten lists - and arrays in list contexts are lists with the array elements. The answer to the second question is: you cannot. You can, however, pass two references to arrays to a sub:
mysub([1..5],[6..9]); sub mysub { my @array1 = @{$_[0]}; my @array2 = @{$_[1]}; }

Replies are listed 'Best First'.
Re^2: why perl joins multy list parameters to one list
by Achilles_Sea (Novice) on Oct 18, 2011 at 13:12 UTC
    it seems I haven't quite understood the difference between array and list. thank u very much :)