Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / i486-linux-gnu-thread-multi / Template / Stash / XS.pm
diff --git a/local-lib5/lib/perl5/i486-linux-gnu-thread-multi/Template/Stash/XS.pm b/local-lib5/lib/perl5/i486-linux-gnu-thread-multi/Template/Stash/XS.pm
new file mode 100644 (file)
index 0000000..1742d55
--- /dev/null
@@ -0,0 +1,137 @@
+#============================================================= -*-Perl-*-
+# 
+# Template::Stash::XS
+# 
+# DESCRIPTION
+#
+#   Perl bootstrap for XS module. Inherits methods from 
+#   Template::Stash when not implemented in the XS module.
+#
+#========================================================================
+
+package Template::Stash::XS;
+
+use strict;
+use warnings;
+use Template;
+use Template::Stash;
+
+our $AUTOLOAD;
+
+BEGIN {
+    require DynaLoader;
+    @Template::Stash::XS::ISA = qw( DynaLoader Template::Stash );
+
+    eval {
+        bootstrap Template::Stash::XS $Template::VERSION;
+    };
+    if ($@) {
+        die "Couldn't load Template::Stash::XS $Template::VERSION:\n\n$@\n";
+    }
+}
+
+sub DESTROY {
+    # no op
+    1;
+}
+
+
+# catch missing method calls here so perl doesn't barf 
+# trying to load *.al files 
+
+sub AUTOLOAD {
+    my ($self, @args) = @_;
+    my @c             = caller(0);
+    my $auto       = $AUTOLOAD;
+
+    $auto =~ s/.*:://;
+    $self =~ s/=.*//;
+
+    die "Can't locate object method \"$auto\"" .
+        " via package \"$self\" at $c[1] line $c[2]\n";
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Template::Stash::XS - High-speed variable stash written in C
+
+=head1 SYNOPSIS
+
+    use Template;
+    use Template::Stash::XS;
+
+    my $stash = Template::Stash::XS->new(\%vars);
+    my $tt2   = Template->new({ STASH => $stash });
+
+=head1 DESCRIPTION
+
+The Template:Stash::XS module is an implementation of the
+Template::Stash written in C.  The "XS" in the name refers to Perl's
+XS extension system for interfacing Perl to C code.  It works just
+like the regular Perl implementation of Template::Stash but runs about
+twice as fast.
+
+The easiest way to use the XS stash is to configure the Template
+Toolkit to use it by default.  You can do this at installation time
+(when you run C<perl Makefile.PL>) by answering 'y' to the questions:
+
+    Do you want to build the XS Stash module?      y
+    Do you want to use the XS Stash by default?    y
+
+See the F<INSTALL> file distributed with the Template Toolkit for further
+details on installation.
+
+If you don't elect to use the XS stash by default then you should use
+the C<STASH> configuration item when you create a new Template object.
+This should reference an XS stash object that you have created
+manually.
+
+    use Template;
+    use Template::Stash::XS;
+
+    my $stash = Template::Stash::XS->new(\%vars);
+    my $tt2   = Template->new({ STASH => $stash });
+
+Alternately, you can set the C<$Template::Config::STASH> package
+variable like so:
+
+    use Template;
+    use Template::Config;
+
+    $Template::Config::STASH = 'Template::Stash::XS';
+
+    my $tt2 = Template->new();
+
+The XS stash will then be automatically used.  
+
+If you want to use the XS stash by default and don't want to
+re-install the Template Toolkit, then you can manually modify the
+C<Template/Config.pm> module near line 42 to read:
+
+    $STASH = 'Template::Stash::XS';
+
+=head1 BUGS
+
+Please report bugs to the Template Toolkit mailing list
+templates@template-toolkit.org
+
+=head1 AUTHORS
+
+Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/>
+
+Doug Steinwand E<lt>dsteinwand@citysearch.comE<gt>
+
+=head1 COPYRIGHT
+
+Copyright (C) 1996-2009 Andy Wardley.  All Rights Reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<Template::Stash>