Regexp::Common::URI::wais - Returns a pattern for WAIS URIs.


Regexp-Common documentation Contained in the Regexp-Common distribution.

Index


Code Index:

NAME

Top

Regexp::Common::URI::wais -- Returns a pattern for WAIS URIs.

SYNOPSIS

Top

    use Regexp::Common qw /URI/;

    while (<>) {
        /$RE{URI}{WAIS}/       and  print "Contains a WAIS URI.\n";
    }

DESCRIPTION

Top

$RE{URI}{WAIS}

Returns a pattern that matches WAIS URIs, as defined by RFC 1738. WAIS URIs have the form:

    "wais:" "//" host [ ":" port ] "/" database
                      [ ( "?" search ) | ( "/" wtype "/" wpath ) ]

Under {-keep}, the following are returned:

$1

The complete URI.

$2

The scheme.

$3

The hostname.

$4

The port, if given.

$5

The database, followed by search or wtype/wpath, if given.

$6

The database.

$7

The part following the database if given, including the question mark or slash.

$8

The search part, if given.

$9

The wtype, if given.

$10

The wpath, if given.

REFERENCES

Top

[RFC 1738]

Berners-Lee, Tim, Masinter, L., McCahill, M.: Uniform Resource Locators (URL). December 1994.

SEE ALSO

Top

Regexp::Common::URI for other supported URIs.

AUTHOR

Top

Damian Conway (damian@conway.org)

MAINTAINANCE

Top

This package is maintained by Abigail (regexp-common@abigail.be).

BUGS AND IRRITATIONS

Top

Bound to be plenty.

LICENSE and COPYRIGHT

Top


Regexp-Common documentation Contained in the Regexp-Common distribution.

package Regexp::Common::URI::wais;

use Regexp::Common               qw /pattern clean no_defaults/;
use Regexp::Common::URI          qw /register_uri/;
use Regexp::Common::URI::RFC1738 qw /$host $port
                                     $search $database $wtype $wpath/;

use strict;
use warnings;

use vars qw /$VERSION/;
$VERSION = '2010010201';


my $scheme = 'wais';
my $uri    = "(?k:(?k:$scheme)://(?k:$host)(?::(?k:$port))?/(?k:(?k:$database)" 
           . "(?k:[?](?k:$search)|/(?k:$wtype)/(?k:$wpath))?))";

register_uri $scheme => $uri;

pattern name    => [qw (URI WAIS)],
        create  => $uri,
        ;

1;

__END__