in reply to test value of a field for 1 line in passwd

1. close(PASS); is inside of while loop, so only the first line is verified;
2. $fields[3] !~ /5612/ should be enough.