in reply to DHCP and DNS Compare

Always check the status of your open calls! You'll spend less time debugging mysterious errors, I promise. open (DHCPCMD, "dhcpcmd $DHCPserver enumclients $scope|") || die "Can't get DHCP information: $!"; Use sprintf instead of twodigit(): my $day = sprintf("%02d", localtime->mday); I'm not sure what comparehashes() is doing, especially as you refer to $1 but don't appear to grab it from anywhere. Instead, I'd lc() machine names when assigning them to %dhcphash and %dnshash and just use the eq operator to compare them.

Finally, I like to check the return values of my close() calls. No pun intended. If something goes wrong here, I want to know about it.