# pass it two arrays, by reference. sub arrays_equal { my( $ar1, $ar2 ) = @_; @$ar1 eq @$ar2 or return 0; # different lengths. # now do member-wise comparison: for my $i ( 0 .. $#{$ar1} ) { $ar1->[$i] eq $ar2->[$i] or return 0; # short circuit } return 1; # all members compared equal. } # call it like so: if ( ! arrays_equal( \@savedpids, \@livepids ) )