sub msg_got_record { my $log_record = $_[ARG0]; print " $log_record\n"; push (@array_curr, "$log_record\n"); if (@array_prev){ %array_curr = map {$_, 1} @array_curr; @difference = grep {!$array_curr {$_}} @array_prev; print "this is a difference @difference\n" } else {print OUTPUT "@array_curr"; print "this is else - debug @array_curr";} @array_prev = @array_curr;