这段代码完成了工作.它需要一个包含IP列表的.txt文件,并写入包含各自完全限定域名的文件.
我想知道这些代码在哪些方面写得不好.这有什么坏习惯?
我是一个perl和编程新手.我设法使用谷歌和跟踪和错误把它放在一起.让它工作令人满意,但请告诉我如何改进.
use strict;use warnings;use Socket;use autodIE;my $filename = 'IPsForFQDN.txt';#file with List of IPs to lookup.#One IP address per line like so:#10.10.10.10#10.10.10.11#10.10.10.12#etc...open(my $fh,'<:enCoding(UTF-8)',$filename) or dIE "Could not opne file '$filename' $!";my $fqdn = '';while (my $row = <$fh>) { chomp $row; print "$row\n"; $fqdn = gethostbyaddr(inet_aton($row),AF_INET); print $fqdn; print "\n"; open file,">>fqdn.txt" or dIE $!; print file $fqdn; print file "\n"; close file;}print "done\n";
例如,需要{chomp $row;}行吗?我没有想法它做了什么.
我对整个{或死$!;}的事情同样感到困惑.
解决方法 $!报道为什么失败了.如果您无法打开文件,则会指出失败的原因. perlvar在 error variables有一节.您正在使用chomp从每行末尾删除换行符.
在编写文件时,您稍微区别地调用open,请考虑使用与您在代码中打开以供阅读时相同的3参数版本(也请参阅我给您打开的链接),并使用相同的编码样式.保持一致是好的,这种方法也更安全.
总结以上是内存溢出为你收集整理的linux – 我的Perl有多糟糕?获取IP地址并返回完全限定域名的脚本全部内容,希望文章能够帮你解决linux – 我的Perl有多糟糕?获取IP地址并返回完全限定域名的脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)