NAME
App::IPUtils - Utilities related to IP address
VERSION
This document describes version 0.001 of App::IPUtils (from Perl distribution App-IPUtils), released on 2016-10-18.
DESCRIPTION
This distribution includes several utilities:
FUNCTIONS
is_ip(%args) -> [status, msg, result, meta]
Check if arguments are IP (v4 or v6) addresses.
Examples:
Single argument:
is_ip(args => ["::1"]); # -> [200, "OK", 1, { "cmdline.exit_code" => 0 }]
Single argument (2):
is_ip(args => ["x"]); # -> [200, "OK", 0, { "cmdline.exit_code" => 1 }]
Multiple arguments:
is_ip(args => ["::1", "127.0.0.1", "x"]);
Result:
[ 200, "OK", [ { arg => "::1", is_ipv4 => 0, is_ipv6 => 1, is_ip => 1 }, { arg => "127.0.0.1", is_ipv4 => 1, is_ipv6 => 0, is_ip => 1 }, { arg => "x", is_ipv4 => 0, is_ipv6 => 0, is_ip => 0 }, ], { "table.fields" => ["arg", "is_ipv4", "is_ipv6", "is_ip"] }, ]
This function is not exported.
Arguments ('*' denotes required arguments):
args* => array[str]
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 (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
is_ipv4(%args) -> [status, msg, result, meta]
Check if arguments are IPv4 addresses.
Examples:
Single argument:
is_ipv4(args => ["127.0.0.1"]); # -> [200, "OK", 1, { "cmdline.exit_code" => 0 }]
Single argument (2):
is_ipv4(args => ["255.255.255.256"]); # -> [200, "OK", 0, { "cmdline.exit_code" => 1 }]
Multiple arguments:
is_ipv4(args => ["127.0.0.1", "255.255.255.256"]);
Result:
[ 200, "OK", [ { arg => "127.0.0.1", is_ipv4 => 1 }, { arg => "255.255.255.256", is_ipv4 => 0 }, ], { "table.fields" => ["arg", "is_ipv4"] }, ]
This function is not exported.
Arguments ('*' denotes required arguments):
args* => array[str]
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 (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
is_ipv6(%args) -> [status, msg, result, meta]
Check if arguments are IPv6 addresses.
Examples:
Single argument:
is_ipv6(args => ["::1"]); # -> [200, "OK", 1, { "cmdline.exit_code" => 0 }]
Single argument (2):
is_ipv6(args => ["x"]); # -> [200, "OK", 0, { "cmdline.exit_code" => 1 }]
Multiple arguments:
is_ipv6(args => ["::1", "127.0.0.1", "x"]);
Result:
[ 200, "OK", [ { arg => "::1", is_ipv6 => 1 }, { arg => "127.0.0.1", is_ipv6 => 0 }, { arg => "x", is_ipv6 => 0 }, ], { "table.fields" => ["arg", "is_ipv6"] }, ]
This function is not exported.
Arguments ('*' denotes required arguments):
args* => array[str]
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 (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/App-IPUtils.
SOURCE
Source repository is at https://github.com/perlancar/perl-App-IPUtils.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=App-IPUtils
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.
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 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.