notasaint has asked for the wisdom of the Perl Monks concerning the following question:
I think I'm just down to the regular expression I need to find the line in the hosts file. I am bound by the modules already implemented within the Perl build on the laptops which does not include Regex so I can't use $RE{net}{IPv4}. In the following segment of the script I have the expression to verify that there are four :
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 $hf +ilepath 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"; }
I'm pretty sure that the validation of the format of the octets is working correctly. However, I'm having issues with formulating the regular expression in the foreach loop if anyone could provide me with some guidance.
-nas
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: update winxp hosts file with new IP address
by tachyon-II (Chaplain) on May 08, 2008 at 04:58 UTC | |
|
Re: update winxp hosts file with new IP address
by pc88mxer (Vicar) on May 08, 2008 at 04:16 UTC | |
|
Re: update winxp hosts file with new IP address
by CountZero (Bishop) on May 08, 2008 at 05:49 UTC | |
by notasaint (Novice) on May 08, 2008 at 11:20 UTC | |
by notasaint (Novice) on May 09, 2008 at 02:25 UTC | |
|
Re: update winxp hosts file with new IP address
by Anonymous Monk on May 08, 2008 at 04:11 UTC |