#!/usr/bin/perl use strict; # simple application of two Perl modules: use Net::DNS; use Regexp::Common; # replace dotted-decimal ip addresses with their DNS names. my $res = Net::DNS::Resolver->new; sub h0stname { my $arg = shift; my $result = $arg; my $query = $res->search("$arg"); if($query){ for my $rr($query->answer){ $rr->type eq 'PTR' and $result=$rr->ptrdname } } return $result; } while(<>) { #s/$RE{net}{IPv4}{-sep}{-keep}/h0stname($1)/e; #print; my $changed = $_; $changed =~ s/\b$RE{net}{IPv4}{-keep}\b/"[".h0stname($1)."]"/eg; print $changed; }