Server IP : 85.214.239.14 / Your IP : 18.188.211.246 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/proc/2/root/proc/2/cwd/proc/3/root/proc/2/cwd/usr/share/perl5/Regexp/ |
Upload File : |
package Regexp::IPv6; our $VERSION = '0.03'; use strict; use warnings; require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw($IPv6_re); my $IPv4 = "((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))"; my $G = "[0-9a-fA-F]{1,4}"; my @tail = ( ":", "(:($G)?|$IPv4)", ":($IPv4|$G(:$G)?|)", "(:$IPv4|:$G(:$IPv4|(:$G){0,2})|:)", "((:$G){0,2}(:$IPv4|(:$G){1,2})|:)", "((:$G){0,3}(:$IPv4|(:$G){1,2})|:)", "((:$G){0,4}(:$IPv4|(:$G){1,2})|:)" ); our $IPv6_re = $G; $IPv6_re = "$G:($IPv6_re|$_)" for @tail; $IPv6_re = qq/:(:$G){0,5}((:$G){1,2}|:$IPv4)|$IPv6_re/; $IPv6_re =~ s/\(/(?:/g; $IPv6_re = qr/$IPv6_re/; 1; __END__ =head1 NAME Regexp::IPv6 - Regular expression for IPv6 addresses =head1 SYNOPSIS use Regexp::IPv6 qw($IPv6_re); $address =~ /^$IPv6_re$/ and print "IPv6 address\n"; =head1 DESCRIPTION This module exports the $IPv6_re regular expression that matches any valid IPv6 address as described in "RFC 2373 - 2.2 Text Representation of Addresses" but C<::>. Any string not compliant with such RFC will be rejected. To match full strings use C</^$IPv6_re$/>. =head1 COPYRIGHT AND LICENSE Copyright (C) 2009, 2010 by Salvador FandiE<ntilde>o (sfandino@yahoo.com) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available. Additionally, you are allowed to use the regexp generated by the module in any way you want, without any restriction. For instance, you are allowed to copy it verbating in your program. =cut