Try to avoid prototypes and the following will yield the result you want every time by also checking what the caller wants.
#!/usr/bin/perl
use strict;
use warnings;
sub getArray()
{
my @array1 = ("a", "b", "c", "d");
return @array1 if wantarray;
return \@array1;
}
# Get array
sub dispArray
{
my @one = getArray();
print "$one[1]\n";
}
Good luck!