if( $vmServerIP =~ m/^(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)/ ){ if($1 <= 255 && $2 <= 255 && $3 <= 255 && $4 <= 255){ open (my $oldhfile, ,'<', $hfilepath) or die "Could not open $hfilepath for reading."; my @hfile = <$oldhfile>; # # read each line to find the lines that lead with an IP address # and then find the line with HOSTNAME in it and replace that IP # address with the provided one # foreach $hfileline (@hfile) { next unless $hfileline =~/^\s*\s+$hNames/; $hfileline = "$vmServerIP $hNames\n"; }