1
  "   ˆl–Ým_J*j"Tâ€rãNÜÅ£Äƒh¹¿Á      MAJOR=4
MINOR=17
DEVNAME=tty17
     ˆÀÄƒh¹¿Á      0
     	�_’I|¥‰ÓMjqØ‚¦ð¬÷ÀÂ      	File not found.
     ˆÁÅƒh¹ÀÂ      alarmtimer.0.auto
  "   ˆl–Ým_J*j"Tâ€rãm\mÕ1hßÆƒh¹ÁÃ      auto
  /   ˆl–ßi~”ŠhŠ
�~à›¸Ó*bÑ¿Çƒu¦E_‹uÐb&=LV[(ÃÅ     package Net::LibIDN;

use 5.006;
use strict;
use warnings;
use Errno;
use Carp;

require Exporter;
require DynaLoader;
use AutoLoader;

our @ISA = qw(Exporter DynaLoader);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use Net::LibIDN ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
	idn_to_ascii
	idn_to_unicode
	idn_punycode_encode
	idn_punycode_decode
	idn_prep_name
	idn_prep_kerberos5
	idn_prep_node
	idn_prep_resource
	idn_prep_plain
	idn_prep_trace
	idn_prep_sasl
	idn_prep_iscsi
	tld_check
	tld_get
	tld_get_table
	IDNA_ALLOW_UNASSIGNED
	IDNA_USE_STD3_ASCII_RULES
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
	IDNA_ALLOW_UNASSIGNED
	IDNA_USE_STD3_ASCII_RULES
);
our $VERSION = '0.12';

# avoid prototyping error message

sub IDNA_ALLOW_UNASSIGNED
{
	return constant("IDNA_ALLOW_UNASSIGNED", length("IDNA_ALLOW_UNASSIGNED"));
}

sub IDNA_USE_STD3_ASCII_RULES
{
	return constant("IDNA_USE_STD3_ASCII_RULES", length("IDNA_USE_STD3_ASCII_RULES"));
}

sub AUTOLOAD {
    # This AUTOLOAD is used to 'autoload' constants from the constant()
    # XS function.  If a constant is not found then control is passed
    # to the AUTOLOAD in AutoLoader.

	my $constname;
	our $AUTOLOAD;
	($constname = $AUTOLOAD) =~ s/.*:://;
	croak "& not defined" if $constname eq 'constant';
	my $val = constant($constname, @_ ? $_[0] : 0);
	if ($! != 0)
	{
		if ($!{EINVAL})
		{
	    	$AutoLoader::AUTOLOAD = $AUTOLOAD;
	    	goto &AutoLoader::AUTOLOAD;
		}
		else
		{
	    	croak "Your vendor has not defined Net::LibIDN macro $constname";
		}
	}
	{
		no strict 'refs';
		# Fixed between 5.005_53 and 5.005_61
		if ($] >= 5.00561) 
		{
			*$AUTOLOAD = sub () { $val };
		}
		else
		{
			*$AUTOLOAD = sub { $val };
		}
	}
	goto &$AUTOLOAD;
}

bootstrap Net::LibIDN $VERSION;

# Preloaded methods go here.

# Autoload methods go after =cut, and are processed by the autosplit program.

1;
__END__

=encoding utf-8

=head1 NAME

Net::LibIDN - Perl bindings for GNU Libidn

=head1 SYNOPSIS

  use Net::LibIDN ':all';

  idn_to_ascii("RÃ¤ksmÃ¶rgÃ¥s.JosefÃŸon.ORG") eq
    idn_to_ascii(idn_to_unicode("xn--rksmrgs-5wao1o.josefsson.org"));

  idn_prep_name("LibÃœDN") eq "libÃ¼dn";

  idn_punycode_encode("kistenmÃ¶hre") eq
    idn_punycode_encode(idn_punycode_decode("kistenmhre-kcb"));

  my $errpos;
  tld_check("mÃ¨rle.se", $errpos) eq undef;
    $errpos == 1;

  tld_get("mainbase.mars") eq "mars";

  my $hashref = Net::LibIDN::tld_get_table("de");

  print "$hashref->{version}\n";
  foreach (@{$hashref->{valid}})
  {
    print "Unicode range from ".$_->{start}." to ".$_->{end}."\n";
  }

=head1 DESCRIPTION

Provides bindings for GNU Libidn, a C library for handling Internationalized
Domain Names according to IDNA (RFC 3490), in a way very much inspired by
Turbo Fredriksson's PHP-IDN.

=head2 Functions

=over 4

=item B<Net::LibIDN::idn_to_ascii>(I<$clear_hostname>, [I<$charset>, [I<$flags>]]);

Converts I<$clear_hostname> which might contain characters outside
the range allowed in DNS names, to IDNA ACE. If I<$charset> is
specified, treats string as being encoded in it, otherwise
assumes it is ISO-8859-1 encoded. If flag
B<IDNA_ALLOW_UNASSIGNED> is set in I<$flags>, accepts also unassigned
Unicode characters, if B<IDNA_USE_STD3_ASCII_RULES> is set, accepts
only ASCII LDH characters (letter-digit-hyphen). Flags can be
combined with ||. Returns result of conversion or B<undef> on
error.

=item B<Net::LibIDN::idn_to_unicode>(I<$idn_hostname