我一直在使用perl中的nmap解析器,我一直很顺利,但是我想以非常有条理的方式写入文件。有问题的文件将是一个nagios hosts.cfg(我在他们的wiki上使用了nmap2nagios.pl,但它似乎没有用,而且我自己写的太多了)。
文件条目应如下所示
define hosts {
host_name $host_name || $host_ip
alias $os
address $host_ip
}
以上只是一个例子,但我希望你能得到这个想法。任何帮助将不胜感激!我一直在寻找一些模板模块,但它们似乎都非常适合cgi的。
答案 0 :(得分:4)
我总是使用Template Toolkit来输出任何结构化文档。它并不是专门针对CGI的 - 我很乐意用它来编写配置文件。
答案 1 :(得分:4)
我是尼克的第二个建议。一些灵感:
use Template;
my $tt = Template->new();
$tt->process( \*DATA,
{ ip => '10.90.0.1',
host => 'some',
alias => 'some_alias',
} => 'file.cfg'
) or die $tt->error();
__DATA__
define hosts {
host_name [% host %]
alias [% alias %]
address [% ip %]
}
注意:模板引用Template Toolkit
答案 2 :(得分:0)
也许您正在寻找formats。我从来没用过它,语法看起来很疯狂,但你不需要任何模块。