NAME
    App::resolvetable - Produce a colored table containing DNS resolve
    results of several names from several servers/resolvers

VERSION
    This document describes version 0.008 of App::resolvetable (from Perl
    distribution App-resolvetable), released on 2021-07-08.

DESCRIPTION
    Sample screenshot 1:

    Sample screenshot 2 (with "--timings"):

    Sample screenshot 3 (with "--compare"):

FUNCTIONS
  resolvetable
    Usage:

     resolvetable(%args) -> [$status_code, $reason, $payload, \%result_meta]

    Produce a colored table containing DNS resolve results of several names
    from several servers/resolvers.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   action => *str* (default: "show-addresses")

        The default action is to show resolve result ("show-addresses").
        Will highlight the majority result with green, and minority result
        with red. Failed resolve (undef) will also be highlighted with a red
        "X".

        The "compare-addresses" action is similar to "show-addresses", but
        will assume the first server/resolver as the reference and compare
        the results of the other servers with the first. When the result is
        different, it will be highlighted with red; when the result is the
        same, it will be highlighted with green. Failed resolve (undef) are
        highlighted with a grey X (if result is the same as reference
        server) or a red X (if result is different than reference server).
        So basically whenever you see a red, the results of the other
        servers are not identical with the first (reference) server.

        The "show-timings" action will show resolve times instead of
        addresses, to compare speed among DNS servers/resolvers. Will
        highlight the fastest server with green.

    *   colorize => *bool* (default: 1)

    *   names* => *array[str]*

    *   servers* => *array[str]*

    *   type => *str* (default: "A")

        Type of DNS record to query.

    Returns an enveloped result (an array).

    First element ($status_code) is an integer containing HTTP-like status
    code (200 means OK, 4xx caller error, 5xx function error). Second
    element ($reason) is a string containing error message, or something
    like "OK" if status is 200. Third element ($payload) is the actual
    result, but usually not present when enveloped result is an error
    response ($status_code is not 2xx). Fourth element (%result_meta) is
    called result metadata and is optional, a hash that contains extra
    information, much like how HTTP response headers provide additional
    metadata.

    Return value: (any)

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/App-resolvetable>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-App-resolvetable>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=App-resolvetable>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

SEE ALSO
AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2021, 2019 by perlancar@cpan.org.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

