- 论坛徽章:
- 0
|
#!/usr/bin/perl
use strict;
use warnings;
use XML::Generator;
my ($xml, $output, $run_config, $config, $output_file,@acl_rule,$acl_rule,$per_text);
$run_config="rule deny 192.168.1.1 0.0.0.255
rule deny 192.168.2.1 0.0.0.128
rule permit any";
@acl_rule = split (/\n/,$run_config);
for (my $i=0; $i<@acl_rule; $i++){
$per_text .="\$xml->rule('$acl_rule[$i]'),\n";
}
$xml = new XML::Generator ('conformance' => 'strict', 'escape' => 'always', 'pretty' => 3, 'encoding'=>'GBK');
$output = $xml->function ({ 'funcname' => 'acl_black_list', 'mode' => 'predefined','no' => 'no'},
$xml->task_name('20130502152226_815403777'),
$xml->device(
$xml->device_name ('202.197.12.200'),
$xml->interface_name('GigabitEthernet0/0/2'),
$xml->rule_list(
$per_text; ???????????????????????????
)
)
);
print $xml->xmldecl."$output";
问号前的变量$per_text是前面循环出来的xml格式的字符串,但不知怎么调用,烦请解答! |
|