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

VERSION
    This document describes version 0.007 of App::resolvetable (from Perl
    distribution App-resolvetable), released on 2019-08-20.

DESCRIPTION
    Sample screenshot 1:

FUNCTIONS
  resolvetable
    Usage:

     resolvetable(%args) -> [status, msg, payload, 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) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (any)

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

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

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) 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.

