Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.136.25.185
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : Escape.pm
package Any::URI::Escape;

use strict;
use warnings;

our $VERSION = 0.01;

=head1 NAME

Any::URI::Escape - Load URI::Escape::XS preferentially over URI::Escape

=cut

use base 'Exporter';
our @EXPORT = qw( uri_escape uri_unescape );

BEGIN {

    eval 'require URI::Escape::XS';

    my $pkg;
    if ($@) {

        # xs version not installed, use URI::Escape
        require URI::Escape;
        $pkg = 'URI::Escape';

    }
    else {

        $pkg = 'URI::Escape::XS';
    }
    no strict 'refs';
    my $class = __PACKAGE__;
    *{"$class\::uri_escape"} = *{"$pkg\::uri_escape"};
    *{"$class\::uri_unescape"} = *{"$pkg\::uri_unescape"};
}


1;

=head1 SYNOPSIS

  use Any::URI::Escape;
  $escaped_url = uri_escape($url);

  # URI::Escape::XS will be used instead of URI::Escape if it is installed.

=head1 DESCRIPTION

URI::Escape is great, but URI::Escape::XS is faster.  This module loads
URI::Escape::XS and imports the two most common methods if XS is installed.

The insides of this module aren't completely shaken out yet, so patches
welcome.

=head1 SEE ALSO

L<URI::Escape>

L<URI::Escape::XS>

=head1 AUTHOR

Fred Moyer, E<lt>fred@redhotpenguin.comE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2010 by Fred Moyer

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.12.0 or,
at your option, any later version of Perl 5 you may have available.


=cut
© 2025 GrazzMean