#!/usr/bin/perl -w use strict; echo removing dhcp entry my $dhcpd_conf = '/etc/dhcpd.conf'; my $host = "$ENV{'old_hostname'}"; # Open up the input and output files open(IN, "$dhcpd_conf") or die "Could not open $dhcpd_conf: $!\n"; open(OUT, ">$dhcpd_conf.new") or die "Could not open $dhcpd_conf.new: $!\n"; # Now, go through the file, looking for deleted host my $line; LOOP: while ($line = ) { if ($line =~ /host\s+$host\s+{/) { # Found the host we are removing while ($line = ) { # Loop through file until closing brace found # near beginning of line next LOOP if ($line =~ /^\s+}/); } } # Print other lines out print OUT $line; } close(IN); close(OUT); # Copy the new file over the original unless (rename("$dhcpd_conf.new", $dhcpd_conf)) { die "Could not replace $dhcpd_conf: $!\n"; } echo done return 0