Приглашаю тебя, рви мне новую.
Этот код выполняет свою работу. Он берет файл .txt, содержащий список IP-адресов, и записывает файл, содержащий их соответствующие полностью определенные доменные имена.
Я хочу знать, чем плохо написан этот код. Какие здесь вредные привычки?
Я новичок в Perl и программировании. Мне удалось собрать это с помощью google и trail and error. Было приятно заставить его работать, но, пожалуйста, скажите мне, как я могу улучшить его.
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;}? У меня НЕТ ИДЕИ, что он делает.
Я в равной степени озадачен всем, что касается {or die $ !;}.
Perl::Critic
. - person mob   schedule 06.03.2014perl -MSocket -nwe 'my $fqdn = gethostbyaddr(inet_aton($_), AF_INET); print $fqdn? $fqdn :"", "\n";' IPsForFQDN.txt >fqdn.txt
- person R Perrin   schedule 06.03.2014