Current File : //proc/self/root/usr/share/doc/perl-Template-Toolkit-2.24/modules/Template/Stash/XS.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
  <head>
    <title>Template::Stash::XS</title>
    <link rel="stylesheet" type="text/css" href="../../../css/blue.css" title="Clear Blue">
    <link rel="alternate stylesheet" type="text/css" href="../../../css/orange.css" title="Clear Orange">
    <link rel="alternate stylesheet" type="text/css" href="../../../css/green.css" title="Clear Green">
    <link rel="alternate stylesheet" type="text/css" href="../../../css/purple.css" title="Clear Purple">
    <link rel="alternate stylesheet" type="text/css" href="../../../css/grey.css" title="Clear Grey">
    <link rel="alternate stylesheet" type="text/css" href="../../../css/print.css" title="Print">
    <!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="../../../css/ie6.css" />
    <![endif]-->
    <!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="../../../css/ie7.css" />
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="../../../css/print.css" media="print">
    <script type="text/javascript" src="../../../js/tt2.js"></script>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta name="author" content="Andy Wardley">
  </head>
  <body id="body"> 
    <div id="layout">
        <div id="header">
          <a href="../../../index.html" id="logo" alt="" title="Click for the Home Page"><span class="alt">TT2 Home Page</span></a>
          <ul id="trail">
            <li><a href="../../../modules/index.html">Modules</a></li>
            <li><a href="../../../modules/Template/index.html">Template::*</a></li>
            <li><a href="../../../modules/Template/Stash/index.html">Stash::*</a></li>
            <li class="last"><a href="../../../modules/Template/Stash/XS.html">XS.pm</a></li>
          </ul>
          <div class="controls">
            <a href="#" class="menu show" onclick="widescreen_off(); return false" title="Show Menu">
              <span class="about">Click to view the menu.  It's very nice.</span>
            </a>
            <a href="#" class="menu hide" onclick="widescreen_on();  return false" title="Hide Menu">
              <span class="about">Click to hide the menu and go all widescreen!</span>
            </a>
          
          <div class="pager">
            <a href="../../../modules/Template/Stash/Context.html" title="Template::Stash::Context" class="go back">Back<span class="about"><h4>Template::Stash::Context</h4>Experimetal stash allowing list/scalar context definition</span></a>
            <a href="../../../modules/Template/Stash/index.html" title="Template::Stash::* Modules" class="go up">Up<span class="about"><h4>Template::Stash::* Modules</h4></span></a>
            <span class="go next">Next<span class="about">You can't go to the next page.  Would you like to come foraging for nuts and berries in the forest with me instead?</span></span>
          </div>
          </div>
          <h1 class="headline">Template::Stash::XS</h1>
          <h2 class="subhead">High-speed variable stash written in C</h1>
        
        </div>
        
        <div id="page">
          <div id="sidebar">
            <a href="../../../index.html" id="logo"></a>
            <div id="menu">
              <ul class="menu">
                <li class="l0 first"><a href="../../../manual/index.html">Manual</a></li>
                <li class="l0"><a href="../../../modules/index.html" class="warm">Modules</a></li>
                <li class="l1"><a href="../../../modules/Template.html">Template.pm</a></li>
                <li class="l1"><a href="../../../modules/Template/index.html" class="warm">Template::*</a></li>
                <li class="l2"><a href="../../../modules/Template/Base.html">Base.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Config.html">Config.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Constants.html">Constants.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Context.html">Context.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Directive.html">Directive.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Document.html">Document.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Exception.html">Exception.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Filters.html">Filters.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Grammar.html">Grammar.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Iterator.html">Iterator.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Namespace/index.html">Namespace::*</a></li>
                <li class="l2"><a href="../../../modules/Template/Parser.html">Parser.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Plugin.html">Plugin.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Plugin/index.html">Plugin::*</a></li>
                <li class="l2"><a href="../../../modules/Template/Plugins.html">Plugins.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Provider.html">Provider.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Service.html">Service.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Stash.html">Stash.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Stash/index.html" class="warm">Stash::*</a></li>
                <li class="l3"><a href="../../../modules/Template/Stash/Context.html">Context.pm</a></li>
                <li class="l3"><a href="../../../modules/Template/Stash/XS.html" class="warm">XS.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/Test.html">Test.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/VMethods.html">VMethods.pm</a></li>
                <li class="l2"><a href="../../../modules/Template/View.html">View.pm</a></li>
                <li class="l0"><a href="../../../tools/index.html">Tools</a></li>
                <li class="l0"><a href="../../../tutorial/index.html">Tutorial</a></li>
                <li class="l0 last"><a href="../../../faq/index.html">FAQ</a></li>
              </ul>
              <div class="foot"></div>
            </div>
          </div>
          <div id="content">
          <div class="section">
            <div class="head">
              <h1 id="contents" onclick="switch_section(this)" title="Click title to show/hide section content.">Contents</h1>
              <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
            </div>
            <div class="body">
              <ul class="toc">
                  <li class=""><a href="#SYNOPSIS">SYNOPSIS</a></li>
                  <li class=""><a href="#DESCRIPTION">DESCRIPTION</a></li>
                  <li class=""><a href="#BUGS">BUGS</a></li>
                  <li class=""><a href="#AUTHORS">AUTHORS</a></li>
                  <li class=""><a href="#COPYRIGHT">COPYRIGHT</a></li>
                  <li class=""><a href="#SEE_ALSO">SEE ALSO</a></li>
              
              </ul>
            </div>
          </div>
          
                <div class="pod">
            <div class="section">
              <div class="head">
                <h1 id="SYNOPSIS" onclick="switch_section(this)" title="Click title to show/hide section content.">SYNOPSIS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <pre>use Template;
use Template::Stash::XS;

my $stash = Template::Stash::XS-&gt;new(\%vars);
my $tt2   = Template-&gt;new({ STASH =&gt; $stash });</pre>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="DESCRIPTION" onclick="switch_section(this)" title="Click title to show/hide section content.">DESCRIPTION</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      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.
                    </p>
                    <p>
                      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
                      <code>perl Makefile.PL</code>) by answering 'y' to the questions:
                    </p>
                    <pre>Do you want to build the XS Stash module?      y
Do you want to use the XS Stash by default?    y</pre>
                    <p>
                      See the <i>INSTALL</i> file distributed with the Template Toolkit for
                      further details on installation.
                    </p>
                    <p>
                      If you don't elect to use the XS stash by default then you should use the
                      <code>STASH</code> configuration item when you create a new Template
                      object. This should reference an XS stash object that you have created
                      manually.
                    </p>
                    <pre>use Template;
use Template::Stash::XS;

my $stash = Template::Stash::XS-&gt;new(\%vars);
my $tt2   = Template-&gt;new({ STASH =&gt; $stash });</pre>
                    <p>
                      Alternately, you can set the <code>$Template::Config::STASH</code>
                      package variable like so:
                    </p>
                    <pre>use Template;
use Template::Config;

$Template::Config::STASH = 'Template::Stash::XS';

my $tt2 = Template-&gt;new();</pre>
                    <p>
                      The XS stash will then be automatically used.
                    </p>
                    <p>
                      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
                      <code>Template/Config.pm</code> module near line 42 to read:
                    </p>
                    <pre>$STASH = 'Template::Stash::XS';</pre>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="BUGS" onclick="switch_section(this)" title="Click title to show/hide section content.">BUGS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Please report bugs to the Template Toolkit mailing list
                      templates@template-toolkit.org
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="AUTHORS" onclick="switch_section(this)" title="Click title to show/hide section content.">AUTHORS</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Andy Wardley &lt;abw@wardley.org&gt; <a
                      href="http://wardley.org/">http://wardley.org/</a>
                    </p>
                    <p>
                      Doug Steinwand &lt;dsteinwand@citysearch.com&gt;
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="COPYRIGHT" onclick="switch_section(this)" title="Click title to show/hide section content.">COPYRIGHT</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      Copyright (C) 1996-2012 Andy Wardley. All Rights Reserved.
                    </p>
                    <p>
                      This module is free software; you can redistribute it and/or modify it
                      under the same terms as Perl itself.
                    </p>
              </div>
            </div>
            <div class="section">
              <div class="head">
                <h1 id="SEE_ALSO" onclick="switch_section(this)" title="Click title to show/hide section content.">SEE ALSO</h1>
                <a href="#body" class="top" title="Back up to the top of the page" >Top</a>
              </div>
              <div class="body">
                <p>
                      <a href="../../../modules/Template/Stash.html">Template::Stash</a>
                    </p>
              </div>
            </div>
            
            </div></div>
          <br class="clear" />
          <div class="pageinfo">
            <a href="http://template-toolkit.org/docs/modules/Template/Stash/XS.html">http://template-toolkit.org/docs/modules/Template/Stash/XS.html</a>
          </div>
        </div>
        
        <div id="footer">
          <a href="http://opensource.org/" class="osi"></a>
          <div class="controls">
          <div class="pager">
            <a href="../../../modules/Template/Stash/Context.html" title="Template::Stash::Context" class="go back">Back<span class="about"><h4>Template::Stash::Context</h4></span></a>
            <a href="../../../modules/Template/Stash/index.html" title="Template::Stash::* Modules" class="go up">Up<span class="about"><h4>Template::Stash::* Modules</h4></span></a>
            <span class="go next">Next<span class="about"></span></span>
          </div>
          </div>
          <div class="copyright">
            Copyright &copy; 1996-2012 <a href="http://wardley.org/">Andy Wardley</a>.  All Rights Reserved.
          </div>
          <div class="licence">
            The <a href="http://template-toolkit.org/">Template Toolkit</a> is <a href="http://opensource.org/">Open Source</a> software.
            You can redistribute and/or modify it under the terms of the <a href="http://www.opensource.org/licenses/gpl-license.php">GNU Public Licence</a>
            or the <a href="http://www.opensource.org/licenses/artistic-license.php">Perl Artistic Licence</a>.
          </div>
        </div>
        <div id="palette">
          <ul>
            <li class="first"><a href="#" class="blue" onclick="set_style('Clear Blue')"></a></li>
            <li><a href="#" class="orange" onclick="set_style('Clear Orange')"></a></li>
            <li><a href="#" class="green" onclick="set_style('Clear Green')"></a></li>
            <li><a href="#" class="purple" onclick="set_style('Clear Purple')"></a></li>
            <li><a href="#" class="grey" onclick="set_style('Clear Grey')"></a></li>
          </ul>
        </div>
    </div>  </body>
</html>