IO-Socket-DNS

 view release on metacpan or  search on metacpan

lib/IO/Socket/DNS.pm  view on Meta::CPAN

    return $self->{resolver_txt} ||= eval {
        require Net::DNS::Resolver;
    } ? sub {
        my $name = shift;
        # Faster method, but Net::DNS must be installed for this to work.
        return eval { [$self->resolver->query($name, "TXT")->answer]->[0]->txtdata };
    } : do {
        my %args = $self->resolver_args;
        my $nameservers = $args{nameservers};
        if ($nameservers) {
            $nameservers = [split m/ /, $nameservers] if !ref $nameservers;
        }
        $nameservers ||= [""];
        warn "WARNING: Unable to find Net::DNS so reverting to nslookup (slow spawn) method ...\n";
        # Return a closure containing the lexically scoped $nameservers variable.
        sub {
            my $name = shift;
            # Make sure it is rooted to reduce unnecessary search scanning.
            $name =~ s/\.*$/./;
            # Try each resolver (if specified) until one works.
            foreach my $server (@$nameservers) {

lib/IO/Socket/DNS/Server.pm  view on Meta::CPAN


    # Short program to CREATE the menu.pl program.
    my $code = q{
        $| = 1;
        use strict;
        use warnings;

        my $interp = $^X;
        if ($interp !~ m{[\\/]}) {
            # Make fully qualified absolute search path
            foreach my $path (split m/:/, $ENV{PATH}) {
                my $try = "$path/$interp";
                if (-e $try) {
                    $interp = $try;
                    last;
                }
            }
        }

        if (-e "menu.pl") {
            print "File menu.pl already exists. You must remove it to regenerate a fresh copy.\n";

lib/IO/Socket/DNS/Server.pm  view on Meta::CPAN

                last if $i > $ticks;
            }
            print "\n";
            $contents = pack 'H*', $contents;
            if ($contents) {
                open my $fh, ">", $file;
                if ($file =~ /\.pl$/) {
                    my $interp = $^X;
                    if ($interp !~ m{[\\/]}) {
                        # Make fully qualified absolute search path
                        foreach my $path (split m/:/, $ENV{PATH}) {
                            my $try = "$path/$interp";
                            if (-e $try) {
                                $interp = $try;
                                last;
                            }
                        }
                    }
                    unless ($contents =~ s{^\#\!/\S+}{\#\!$interp}) {
                        print $fh "#!$interp\n";
                    }



( run in 2.361 seconds using v1.01-cache-2.11-cpan-71847e10f99 )