1

我一直在研究 perl 中的 nmap 解析器,我一直很顺利,但是我想以非常结构化的方式写入文件。有问题的文件将是 nagios hosts.cfg(我会在他们的 wiki 上使用 nmap2nagios.pl,但它似乎不起作用,而且我自己编写的文件太有趣了)。

文件条目应如下所示

define hosts {
       host_name      $host_name || $host_ip
       alias          $os
       address        $host_ip
       }

以上只是一个例子,但我希望你能明白。任何帮助将不胜感激!我四处寻找一些模板模块,但它们似乎都非常适合 cgi。

4

3 回答 3

4

我总是使用Template Toolkit来输出任何结构化文档。它并不是专门针对 CGI 的——例如,我很乐意用它来编写配置文件。

于 2011-03-02T14:54:11.697 回答
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 %]
       }

注意:模板是指模板工具包

于 2011-03-02T14:59:01.860 回答
0

也许您正在寻找格式。我从未使用过它,语法看起来很疯狂,但你不需要任何模块。

于 2011-03-02T14:55:23.383 回答