Hi list,
I process a set of files and end up with a hash with server, administrator
pairs. I need to read in another file and modify (or add if it does not
exist) a line containing the word administrator following the line with the
server name.
Hash pairs:
Server1 Bob
Server2 Chuck
Server3 Jon
File:
server_name Server1
location basement
administrator Wilma
OS RHEL4
server_ip 10.0.0.5
server_name Server2
location basement
administrator Fred
server_ip 10.0.0.6
server_name Server3
location basement
server_ip 10.0.0.7
server_name Server4
location basement
administrator Barney
server_ip 10.0.0.8
So I know how to change the line, I just am not sure how to search for ONLY
the line I need. I should start looking after I find the server name and if
I run into the next server definition while not finding the line for
administrator, add it.
I thought I could do something like this:
while (<>) {
if ($key .. /server_name/) {
# if line exists, modify
# else add
}
}
but it doesn't seem to work as I expected.
Also, the servers will not be in the same order in the hash and the file, so
I will need to start searching at the top of the file each time. I know how
to process a file a line at a time, but am unsure about how to slurp entire
file into RAM and process it there.
Any pointers will be greatly appreciated! Thanks and sorry for the lengthy
post!
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>