在使用 Nagios V1 的现有项目上,我们需要将其升级到 Nagios V3。除了在两个版本之间发生更改的状态文件 (status.dat) 之外,一切都很好。有太多的 perl 脚本使用旧的状态文件格式来改变它们。相反,我想编写一个 perl 代码,将状态文件从新格式转换为旧格式:
为了简化问题(可以被认为是一个 perl 问题):
输入文件是这样的:
hoststatus {
key1=val1
key2=val2
key3=val3
}
hoststatus {
key1=val4
key2=val5
key3=val6
}
servicestatus {
key11=val11
key12=val12
key13=val13
}
servicestatus {
key11=val14
key12=val15
key13=val16
}
并且应该转换成这个文件:
HOST;val1;val3;val2
HOST;val4;val6;val5
SERVICE;val13;val11;val12
SERVICE;val16;val14;val15
Note the values are written following a chosen keys order. In the above listing :
"key1,key3,key2" for hoststatus blocks
"key13,key11,key12" for servicestatus blocks
如何在 Perl 中编写代码?