sub mergeSort( \@arrayRef ) {
####
C:\test>perl -c junk92.pl
Illegal character in prototype for main::mergeSort : \@arrayRef at junk92.pl line 27.
Scalar value @leftSide[$i] better written as $leftSide[$i] at junk92.pl line 40.
Scalar value @leftSide[$i] better written as $leftSide[$i] at junk92.pl line 41.
Scalar value @rightSide[$i - $middle] better written as $rightSide[$i - $middle] at junk92.pl line 47.
Scalar value @rightSide[$i - $middle] better written as $rightSide[$i - $middle] at junk92.pl line 48.
Prototype mismatch: sub main::mergeSort (\@) vs (\@arrayRef) at junk92.pl line 55.
Scalar value @groupA[$i] better written as $groupA[$i] at junk92.pl line 62.
Scalar value @groupB[$j] better written as $groupB[$j] at junk92.pl line 62.
Scalar value @groupA[$i] better written as $groupA[$i] at junk92.pl line 63.
Scalar value @groupB[$j] better written as $groupB[$j] at junk92.pl line 67.
Scalar value @groupA[$i] better written as $groupA[$i] at junk92.pl line 73.
Scalar value @groupB[$j] better written as $groupB[$j] at junk92.pl line 78.
junk92.pl syntax OK
####
my ( @groupA, @groupB, $dataRef ) = @_;