A crude way of doing it:

my @arr1 = grep{sqrt !~/\./}@numbers;

If a number is a perfect square, its square root will be a full number(say 7), else will contain a fraction part(say 7.15). The above regex checks whether the square root contains a dot or not.

Note: sqrt with no argument takes $_ as argument.