PERL Net :: DNS输出到文件

前端之家收集整理的这篇文章主要介绍了PERL Net :: DNS输出到文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
完全是Perl的新手(在学习过程中),需要一些帮助.以下是我发现的一些代码,可以将结果打印到屏幕上,但我希望将其打印到文件中.我怎样才能做到这一点?当我打开一个文件并向其发送输出时,我得到了垃圾数据.

这是代码

use Net::DNS;
my $res  = Net::DNS::Resolver->new;
$res->nameservers("ns.example.com");

my @zone = $res->axfr("example.com");

foreach $rr (@zone) {
$rr->print;
}

当我添加

open(my $fh,'>',$filename) or die "Could not open file '$filename' $!";
.....
$rr -> $fh; #I get garbage.

解决方法

@zone数组包含一个 Net::DNS::RR对象的列表,其打印方法将对象字符串化并将其打印到当前选定的文件句柄

要将相同的东西打印到不同的文件句柄,您必须自己对该对象进行字符串化

这应该工作

open my $fh,$filename or die "Could not open file '$filename': $!";

print $fh $_->string,"\n" for @zone;

猜你在找的Perl相关文章