/usr/local/share/man/man3
NameSizeModeActions
App::Prove.3pm105080444editdlrm
App::Prove::State.3pm60050444editdlrm
App::Prove::State::Result.3pm56190444editdlrm
App::Prove::State::Result::Test.3pm50510444editdlrm
AppConfig.3pm352890444editdlrm
AppConfig::Args.3pm79920444editdlrm
AppConfig::CGI.3pm66090444editdlrm
AppConfig::File.3pm126140444editdlrm
AppConfig::Getopt.3pm74440444editdlrm
AppConfig::State.3pm249720444editdlrm
AppConfig::Sys.3pm66950444editdlrm
Archive::Tar.3pm440610444editdlrm
Archive::Tar::File.3pm110830444editdlrm
Archive::Zip.3pm699850444editdlrm
Archive::Zip::FAQ.3pm184370444editdlrm
Archive::Zip::MemberRead.3pm67340444editdlrm
Archive::Zip::Tree.3pm28750444editdlrm
B::COW.3pm51630444editdlrm
Canary::Stability.3pm37270444editdlrm
CDB_File.3pm143180444editdlrm
common::sense.3pm00444editdlrm
Compress::Raw::Bzip2.3pm134630444editdlrm
Compress::Raw::Zlib.3pm420820444editdlrm
Compress::Zlib.3pm387190444editdlrm
CPAN::Meta.3pm159230444editdlrm
CPAN::Meta::Converter.3pm65940444editdlrm
CPAN::Meta::Feature.3pm43220444editdlrm
CPAN::Meta::History.3pm78550444editdlrm
CPAN::Meta::History::Meta_1_0.3pm99730444editdlrm
CPAN::Meta::History::Meta_1_1.3pm124100444editdlrm
CPAN::Meta::History::Meta_1_2.3pm222240444editdlrm
CPAN::Meta::History::Meta_1_3.3pm239740444editdlrm
CPAN::Meta::History::Meta_1_4.3pm245650444editdlrm
CPAN::Meta::Merge.3pm52850444editdlrm
CPAN::Meta::Prereqs.3pm73800444editdlrm
CPAN::Meta::Requirements.3pm123080444editdlrm
CPAN::Meta::Spec.3pm455920444editdlrm
CPAN::Meta::Validator.3pm42150444editdlrm
CPAN::Meta::YAML.3pm42300444editdlrm
Crypt::OpenSSL::Random.3pm56340444editdlrm
Curses.3pm375800444editdlrm
Curses::UI.3pm156190444editdlrm
Curses::UI::Buttonbox.3pm89080444editdlrm
Curses::UI::Calendar.3pm82030444editdlrm
Curses::UI::Checkbox.3pm65090444editdlrm
Curses::UI::Color.3pm59030444editdlrm
Curses::UI::Common.3pm64980444editdlrm
Curses::UI::Container.3pm90410444editdlrm
Curses::UI::Dialog::Basic.3pm52130444editdlrm
Curses::UI::Dialog::Calendar.3pm47610444editdlrm
Curses::UI::Dialog::Dirbrowser.3pm53690444editdlrm
Curses::UI::Dialog::Error.3pm43070444editdlrm
Curses::UI::Dialog::Filebrowser.3pm68890444editdlrm
Curses::UI::Dialog::Progress.3pm57740444editdlrm
Curses::UI::Dialog::Question.3pm52770444editdlrm
Curses::UI::Dialog::Status.3pm47650444editdlrm
Curses::UI::Label.3pm73330444editdlrm
Curses::UI::Listbox.3pm119880444editdlrm
Curses::UI::Menubar.3pm81100444editdlrm
Curses::UI::Notebook.3pm91400444editdlrm
Curses::UI::PasswordEntry.3pm37430444editdlrm
Curses::UI::Popupmenu.3pm74310444editdlrm
Curses::UI::Progressbar.3pm58910444editdlrm
Curses::UI::Radiobuttonbox.3pm40690444editdlrm
Curses::UI::Searchable.3pm66680444editdlrm
Curses::UI::TextEditor.3pm141710444editdlrm
Curses::UI::TextEntry.3pm36230444editdlrm
Curses::UI::TextViewer.3pm36700444editdlrm
Curses::UI::Tutorial.3pm85550444editdlrm
Curses::UI::Widget.3pm256750444editdlrm
Curses::UI::Window.3pm50840444editdlrm
Cwd.3pm71830444editdlrm
Date::Format.3pm72910444editdlrm
Date::Language.3pm38090444editdlrm
Date::Language::Bulgarian.3pm36750444editdlrm
Date::Language::Hungarian.3pm30910444editdlrm
Date::Parse.3pm54020444editdlrm
Digest::SHA.3pm257590444editdlrm
Expect.3pm602290444editdlrm
ExtUtils::CBuilder.3pm119230444editdlrm
ExtUtils::CBuilder::Platform::Windows.3pm31170444editdlrm
ExtUtils::Command.3pm59420444editdlrm
ExtUtils::Command::MM.3pm57230444editdlrm
ExtUtils::Liblist.3pm126790444editdlrm
ExtUtils::MakeMaker.3pm793570444editdlrm
ExtUtils::MakeMaker::Config.3pm25870444editdlrm
ExtUtils::MakeMaker::FAQ.3pm268290444editdlrm
ExtUtils::MakeMaker::Locale.3pm111680444editdlrm
ExtUtils::MakeMaker::Tutorial.3pm83890444editdlrm
ExtUtils::Manifest.3pm119610444editdlrm
ExtUtils::Mkbootstrap.3pm34590444editdlrm
ExtUtils::Mksymlists.3pm66990444editdlrm
ExtUtils::MM.3pm28290444editdlrm
ExtUtils::MM_AIX.3pm30440444editdlrm
ExtUtils::MM_Any.3pm311290444editdlrm
ExtUtils::MM_BeOS.3pm27980444editdlrm
ExtUtils::MM_Cygwin.3pm35690444editdlrm
ExtUtils::MM_Darwin.3pm26880444editdlrm
ExtUtils::MM_DOS.3pm30210444editdlrm
ExtUtils::MM_MacOS.3pm29870444editdlrm
ExtUtils::MM_NW5.3pm32000444editdlrm
ExtUtils::MM_OS2.3pm28860444editdlrm
ExtUtils::MM_QNX.3pm29420444editdlrm
ExtUtils::MM_Unix.3pm214190444editdlrm
ExtUtils::MM_UWIN.3pm30510444editdlrm
ExtUtils::MM_VMS.3pm149000444editdlrm
ExtUtils::MM_VOS.3pm29260444editdlrm
ExtUtils::MM_Win32.3pm59190444editdlrm
ExtUtils::MM_Win95.3pm32760444editdlrm
ExtUtils::MY.3pm27640444editdlrm
ExtUtils::testlib.3pm26900444editdlrm
File::GlobMapper.3pm114470444editdlrm
File::HomeDir.3pm182120444editdlrm
File::HomeDir::Darwin.3pm32320444editdlrm
File::HomeDir::Darwin::Carbon.3pm35170444editdlrm
File::HomeDir::Darwin::Cocoa.3pm34460444editdlrm
File::HomeDir::Driver.3pm31010444editdlrm
File::HomeDir::FreeDesktop.3pm34870444editdlrm
File::HomeDir::MacOS9.3pm34990444editdlrm
File::HomeDir::Test.3pm35340444editdlrm
File::HomeDir::Unix.3pm36380444editdlrm
File::HomeDir::Windows.3pm48910444editdlrm
File::Path.3pm310300444editdlrm
File::Slurp.3pm236260444editdlrm
File::Spec.3pm137840444editdlrm
File::Spec::AmigaOS.3pm28260444editdlrm
File::Spec::Cygwin.3pm39570444editdlrm
File::Spec::Epoc.3pm32510444editdlrm
File::Spec::Functions.3pm37990444editdlrm
File::Spec::Mac.3pm186640444editdlrm
File::Spec::OS2.3pm31180444editdlrm
File::Spec::Unix.3pm98370444editdlrm
File::Spec::VMS.3pm63890444editdlrm
File::Spec::Win32.3pm64510444editdlrm
File::Temp.3pm367990444editdlrm
File::Which.3pm97460444editdlrm
Getopt::Long.3pm526470444editdlrm
HDB.3pm109470444editdlrm
HDB::CMDS.3pm188940444editdlrm
HDB::Encode.3pm78630444editdlrm
HDB::Object.3pm100570444editdlrm
HTML::AsSubs.3pm85860444editdlrm
HTML::Element.3pm707930444editdlrm
HTML::Element::traverse.3pm159840444editdlrm
HTML::Form.3pm281580444editdlrm
HTML::Parse.3pm82770444editdlrm
HTML::Tree.3pm99820444editdlrm
HTML::Tree::AboutObjects.3pm379180444editdlrm
HTML::Tree::AboutTrees.3pm585340444editdlrm
HTML::Tree::Scanning.3pm343850444editdlrm
HTML::TreeBuilder.3pm301380444editdlrm
HTTP::Tiny.3pm277090444editdlrm
IO::AtomicFile.3pm53810444editdlrm
IO::Compress::Base.3pm35060444editdlrm
IO::Compress::Bzip2.3pm232600444editdlrm
IO::Compress::Deflate.3pm267680444editdlrm
IO::Compress::FAQ.3pm267180444editdlrm
IO::Compress::Gzip.3pm344890444editdlrm
IO::Compress::RawDeflate.3pm271340444editdlrm
IO::Compress::Zip.3pm408700444editdlrm
IO::InnerFile.3pm60350444editdlrm
IO::Lines.3pm37830444editdlrm
IO::Pty.3pm85790444editdlrm
IO::Scalar.3pm106790444editdlrm
IO::ScalarArray.3pm105280444editdlrm
IO::Stringy.3pm40490444editdlrm
IO::Tty.3pm83480444editdlrm
IO::Tty::Constant.3pm100120444editdlrm
IO::Uncompress::AnyInflate.3pm328000444editdlrm
IO::Uncompress::AnyUncompress.3pm307670444editdlrm
IO::Uncompress::Base.3pm35180444editdlrm
IO::Uncompress::Bunzip2.3pm291710444editdlrm
IO::Uncompress::Gunzip.3pm317190444editdlrm
IO::Uncompress::Inflate.3pm299150444editdlrm
IO::Uncompress::RawInflate.3pm295630444editdlrm
IO::Uncompress::Unzip.3pm312790444editdlrm
IO::Wrap.3pm106640444editdlrm
IO::WrapTie.3pm149870444editdlrm
JSON::PP.3pm500800444editdlrm
JSON::PP::Boolean.3pm26670444editdlrm
JSON::Syck.3pm80940444editdlrm
JSON::XS.3pm890370444editdlrm
JSON::XS::Boolean.3pm28570444editdlrm
lib::core::only.3pm56470444editdlrm
local::lib.3pm313900444editdlrm
LWP.3pm285060444editdlrm
LWP::Authen::Ntlm.3pm74890444editdlrm
LWP::ConnCache.3pm99670444editdlrm
LWP::Debug.3pm56080444editdlrm
LWP::MemberMixin.3pm48210444editdlrm
LWP::Protocol.3pm83500444editdlrm
LWP::Protocol::https.3pm56840444editdlrm
LWP::RobotUA.3pm90220444editdlrm
LWP::Simple.3pm90160444editdlrm
LWP::UserAgent.3pm481560444editdlrm
lwpcook.3pm148380444editdlrm
lwptut.3pm324410444editdlrm
Module::Build.3pm445630444editdlrm
Module::Build::API.3pm892670444editdlrm
Module::Build::Authoring.3pm173630444editdlrm
Module::Build::Base.3pm51570444editdlrm
Module::Build::Bundling.3pm99990444editdlrm
Module::Build::Compat.3pm108850444editdlrm
Module::Build::ConfigData.3pm73880444editdlrm
Module::Build::Cookbook.3pm259460444editdlrm
Module::Build::Notes.3pm46900444editdlrm
Module::Build::Platform::aix.3pm44720444editdlrm
Module::Build::Platform::cygwin.3pm45050444editdlrm
Module::Build::Platform::darwin.3pm44910444editdlrm
Module::Build::Platform::Default.3pm44900444editdlrm
Module::Build::Platform::MacOS.3pm53980444editdlrm
Module::Build::Platform::os2.3pm44740444editdlrm
Module::Build::Platform::Unix.3pm44810444editdlrm
Module::Build::Platform::VMS.3pm78850444editdlrm
Module::Build::Platform::VOS.3pm44770444editdlrm
Module::Build::Platform::Windows.3pm45290444editdlrm
Module::Build::PPMMaker.3pm48860444editdlrm
Mozilla::CA.3pm35710444editdlrm
Net::CIDR::Lite.3pm95620444editdlrm
Net::Cmd.3pm115450444editdlrm
Net::Config.3pm81000444editdlrm
Net::Domain.3pm38350444editdlrm
Net::FTP.3pm273410444editdlrm
Net::FTP::dataconn.3pm39790444editdlrm
Net::HTTP.3pm163750444editdlrm
Net::HTTP::NB.3pm53940444editdlrm
Net::HTTPS.3pm54380444editdlrm
Net::IP.3pm276970444editdlrm
Net::libnetFAQ.3pm147460444editdlrm
Net::Netrc.3pm67290444editdlrm
Net::NNTP.3pm231930444editdlrm
Net::POP3.3pm122590444editdlrm
Net::SMTP.3pm188800444editdlrm
Net::SSLeay.3pm3493500444editdlrm
Net::SSLeay::Handle.3pm91270444editdlrm
Net::Time.3pm45240444editdlrm
ok.3pm28510444editdlrm
Parse::CPAN::Meta.3pm101870444editdlrm
POD2::DE::local::lib.3pm228790444editdlrm
POD2::PT_BR::local::lib.3pm227620444editdlrm
Socket.3pm340780444editdlrm
Sub::Identify.3pm50870444editdlrm
SUPER.3pm73940444editdlrm
Switch.3pm190140444editdlrm
TAP::Base.3pm34010444editdlrm
TAP::Formatter::Base.3pm62330444editdlrm
TAP::Formatter::Color.3pm37170444editdlrm
TAP::Formatter::Console.3pm27220444editdlrm
TAP::Formatter::Console::ParallelSession.3pm30650444editdlrm
TAP::Formatter::Console::Session.3pm28320444editdlrm
TAP::Formatter::File.3pm26930444editdlrm
TAP::Formatter::File::Session.3pm28470444editdlrm
TAP::Formatter::Session.3pm36030444editdlrm
TAP::Harness.3pm213000444editdlrm
TAP::Harness::Beyond.3pm191180444editdlrm
TAP::Harness::Env.3pm54670444editdlrm
TAP::Object.3pm44970444editdlrm
TAP::Parser.3pm422100444editdlrm
TAP::Parser::Aggregator.3pm80230444editdlrm
TAP::Parser::Grammar.3pm86470444editdlrm
TAP::Parser::Iterator.3pm49930444editdlrm
TAP::Parser::Iterator::Array.3pm37710444editdlrm
TAP::Parser::Iterator::Process.3pm46010444editdlrm
TAP::Parser::Iterator::Stream.3pm37120444editdlrm
TAP::Parser::IteratorFactory.3pm69040444editdlrm
TAP::Parser::Multiplexer.3pm46460444editdlrm
TAP::Parser::Result.3pm75120444editdlrm
TAP::Parser::Result::Bailout.3pm32930444editdlrm
TAP::Parser::Result::Comment.3pm31180444editdlrm
TAP::Parser::Result::Plan.3pm41730444editdlrm
TAP::Parser::Result::Pragma.3pm30730444editdlrm
TAP::Parser::Result::Test.3pm71140444editdlrm
TAP::Parser::Result::Unknown.3pm29730444editdlrm
TAP::Parser::Result::Version.3pm31540444editdlrm
TAP::Parser::Result::YAML.3pm30860444editdlrm
TAP::Parser::ResultFactory.3pm55230444editdlrm
TAP::Parser::Scheduler.3pm81130444editdlrm
TAP::Parser::Scheduler::Job.3pm43010444editdlrm
TAP::Parser::Scheduler::Spinner.3pm33460444editdlrm
TAP::Parser::Source.3pm81700444editdlrm
TAP::Parser::SourceHandler.3pm75590444editdlrm
TAP::Parser::SourceHandler::Executable.3pm52970444editdlrm
TAP::Parser::SourceHandler::File.3pm45670444editdlrm
TAP::Parser::SourceHandler::Handle.3pm44250444editdlrm
TAP::Parser::SourceHandler::Perl.3pm62620444editdlrm
TAP::Parser::SourceHandler::RawTAP.3pm44340444editdlrm
TAP::Parser::YAMLish::Reader.3pm39950444editdlrm
TAP::Parser::YAMLish::Writer.3pm48790444editdlrm
Template.3pm279090444editdlrm
Template::Base.3pm81490444editdlrm
Template::Config.3pm86870444editdlrm
Template::Constants.3pm78150444editdlrm
Template::Context.3pm266370444editdlrm
Template::Directive.3pm48210444editdlrm
Template::Document.3pm118290444editdlrm
Template::Exception.3pm67630444editdlrm
Template::FAQ.3pm145640444editdlrm
Template::Filters.3pm98170444editdlrm
Template::Grammar.3pm50390444editdlrm
Template::Iterator.3pm114130444editdlrm
Template::Manual.3pm63170444editdlrm
Template::Manual::Config.3pm795040444editdlrm
Template::Manual::Credits.3pm82460444editdlrm
Template::Manual::Directives.3pm772930444editdlrm
Template::Manual::Filters.3pm208100444editdlrm
Template::Manual::Internals.3pm234330444editdlrm
Template::Manual::Intro.3pm140920444editdlrm
Template::Manual::Plugins.3pm137800444editdlrm
Template::Manual::Syntax.3pm145490444editdlrm
Template::Manual::Variables.3pm331100444editdlrm
Template::Manual::Views.3pm259530444editdlrm
Template::Manual::VMethods.3pm281950444editdlrm
Template::Modules.3pm98270444editdlrm
Template::Namespace::Constants.3pm60020444editdlrm
Template::Parser.3pm99170444editdlrm
Template::Plugin.3pm109370444editdlrm
Template::Plugin::Assert.3pm54460444editdlrm
Template::Plugin::CGI.3pm61880444editdlrm
Template::Plugin::Datafile.3pm66010444editdlrm
Template::Plugin::Date.3pm95380444editdlrm
Template::Plugin::Directory.3pm119790444editdlrm
Template::Plugin::Dumper.3pm60780444editdlrm
Template::Plugin::File.3pm130090444editdlrm
Template::Plugin::Filter.3pm129360444editdlrm
Template::Plugin::Format.3pm48950444editdlrm
Template::Plugin::HTML.3pm78230444editdlrm
Template::Plugin::Image.3pm119500444editdlrm
Template::Plugin::Iterator.3pm50610444editdlrm
Template::Plugin::Math.3pm66230444editdlrm
Template::Plugin::Pod.3pm47840444editdlrm
Template::Plugin::Procedural.3pm56310444editdlrm
Template::Plugin::Scalar.3pm50320444editdlrm
Template::Plugin::String.3pm172630444editdlrm
Template::Plugin::Table.3pm111450444editdlrm
Template::Plugin::URL.3pm80800444editdlrm
Template::Plugin::View.3pm54790444editdlrm
Template::Plugin::Wrap.3pm64330444editdlrm
Template::Plugins.3pm97330444editdlrm
Template::Provider.3pm146780444editdlrm
Template::Service.3pm148130444editdlrm
Template::Stash.3pm119830444editdlrm
Template::Stash::Context.3pm71300444editdlrm
Template::Stash::XS.3pm66440444editdlrm
Template::Test.3pm155240444editdlrm
Template::Toolkit.3pm92270444editdlrm
Template::Tools.3pm50010444editdlrm
Template::Tools::tpage.3pm58060444editdlrm
Template::Tools::ttree.3pm165670444editdlrm
Template::Tutorial.3pm45660444editdlrm
Template::Tutorial::Datafile.3pm195390444editdlrm
Template::Tutorial::Web.3pm341180444editdlrm
Template::View.3pm126180444editdlrm
Template::VMethods.3pm46880444editdlrm
Term::ReadKey.3pm130290444editdlrm
Test2.3pm95560444editdlrm
Test2::API.3pm304240444editdlrm
Test2::API::Breakage.3pm49880444editdlrm
Test2::API::Context.3pm175740444editdlrm
Test2::API::Instance.3pm124040444editdlrm
Test2::API::Stack.3pm65680444editdlrm
Test2::Event.3pm91890444editdlrm
Test2::Event::Bail.3pm34700444editdlrm
Test2::Event::Diag.3pm33380444editdlrm
Test2::Event::Exception.3pm35200444editdlrm
Test2::Event::Generic.3pm76620444editdlrm
Test2::Event::Info.3pm42610444editdlrm
Test2::Event::Note.3pm33230444editdlrm
Test2::Event::Ok.3pm42550444editdlrm
Test2::Event::Plan.3pm39070444editdlrm
Test2::Event::Skip.3pm36650444editdlrm
Test2::Event::Subtest.3pm35730444editdlrm
Test2::Event::Waiting.3pm31070444editdlrm
Test2::Formatter.3pm52080444editdlrm
Test2::Formatter::TAP.3pm92550444editdlrm
Test2::Hub.3pm167550444editdlrm
Test2::Hub::Interceptor.3pm29370444editdlrm
Test2::Hub::Interceptor::Terminator.3pm29800444editdlrm
Test2::Hub::Subtest.3pm38030444editdlrm
Test2::IPC.3pm33240444editdlrm
Test2::IPC::Driver.3pm95120444editdlrm
Test2::IPC::Driver::Files.3pm38220444editdlrm
Test2::Transition.3pm184060444editdlrm
Test2::Util.3pm51230444editdlrm
Test2::Util::ExternalMeta.3pm55940444editdlrm
Test2::Util::HashBase.3pm74630444editdlrm
Test2::Util::Trace.3pm55770444editdlrm
Test::Builder.3pm269150444editdlrm
Test::Builder::Formatter.3pm36560444editdlrm
Test::Builder::IO::Scalar.3pm97400444editdlrm
Test::Builder::Module.3pm55670444editdlrm
Test::Builder::Tester.3pm115500444editdlrm
Test::Builder::Tester::Color.3pm31310444editdlrm
Test::Builder::TodoDiag.3pm31290444editdlrm
Test::Fatal.3pm93030444editdlrm
Test::HACKING.3pm92530444editdlrm
Test::Harness.3pm110280444editdlrm
Test::LeakTrace.3pm100220444editdlrm
Test::LeakTrace::JA.3pm123280444editdlrm
Test::LeakTrace::Script.3pm51400444editdlrm
Test::MockModule.3pm108180444editdlrm
Test::More.3pm432150444editdlrm
Test::More::UTF8.3pm36020444editdlrm
Test::RequiresInternet.3pm39440444editdlrm
Test::Simple.3pm91190444editdlrm
Test::Tester.3pm157810444editdlrm
Test::Tester::Capture.3pm29020444editdlrm
Test::Tester::CaptureRunner.3pm26730444editdlrm
Test::Tutorial.3pm242610444editdlrm
Test::use::ok.3pm38410444editdlrm
Test::Warnings.3pm142310444editdlrm
Text::Glob.3pm61060444editdlrm
Text::Template.3pm654990444editdlrm
Text::Template::Preprocess.3pm62700444editdlrm
Time::Zone.3pm34130444editdlrm
TimeDate.3pm23970444editdlrm
Try::Tiny.3pm203430444editdlrm
Types::Serialiser.3pm114730444editdlrm
Types::Serialiser::Error.3pm27050444editdlrm
version.3pm139370444editdlrm
version::Internals.3pm302870444editdlrm
WWW::Mechanize.3pm681960444editdlrm
WWW::Mechanize::Cookbook.3pm71590444editdlrm
WWW::Mechanize::Examples.3pm224900444editdlrm
WWW::Mechanize::FAQ.3pm243590444editdlrm
WWW::Mechanize::Image.3pm64900444editdlrm
WWW::Mechanize::Link.3pm65180444editdlrm
XML::NamespaceSupport.3pm130520444editdlrm
XML::Parser.3pm262960444editdlrm
XML::Parser::Expat.3pm267990444editdlrm
XML::Parser::Style::Debug.3pm44080444editdlrm
XML::Parser::Style::Objects.3pm48880444editdlrm
XML::Parser::Style::Stream.3pm59250444editdlrm
XML::Parser::Style::Subs.3pm48630444editdlrm
XML::Parser::Style::Tree.3pm55290444editdlrm
XML::SAX.3pm92290444editdlrm
XML::SAX::Base.3pm137040444editdlrm
XML::SAX::BuildSAXBase.3pm137000444editdlrm
XML::SAX::DocumentLocator.3pm52390444editdlrm
XML::SAX::Exception.3pm56220444editdlrm
XML::SAX::Expat.3pm64040444editdlrm
XML::SAX::Intro.3pm202200444editdlrm
XML::SAX::ParserFactory.3pm79190444editdlrm
XML::SAX::PurePerl.3pm61720444editdlrm
XML::SAX::PurePerl::Reader.3pm41030444editdlrm
XML::Simple.3pm655890444editdlrm
XML::Simple::FAQ.3pm272230444editdlrm
YAML.3pm299800444editdlrm
YAML::Any.3pm74870444editdlrm
YAML::Dumper.3pm47760444editdlrm
YAML::Dumper::Base.3pm46420444editdlrm
YAML::Error.3pm46810444editdlrm
YAML::Loader.3pm47660444editdlrm
YAML::Loader::Base.3pm46420444editdlrm
YAML::Marshall.3pm46400444editdlrm
YAML::Node.3pm67430444editdlrm
YAML::Syck.3pm108060444editdlrm
YAML::Tag.3pm44990444editdlrm
YAML::Types.3pm47160444editdlrm
Edit: /usr/local/share/man/man3/Template.3pm (27909B)
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Template 3" .TH Template 3 "2014-04-24" "perl v5.16.3" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Template \- Front\-end module to the Template Toolkit .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Template; \& \& # some useful options (see below for full list) \& my $config = { \& INCLUDE_PATH => \*(Aq/search/path\*(Aq, # or list ref \& INTERPOLATE => 1, # expand "$var" in plain text \& POST_CHOMP => 1, # cleanup whitespace \& PRE_PROCESS => \*(Aqheader\*(Aq, # prefix each template \& EVAL_PERL => 1, # evaluate Perl code blocks \& }; \& \& # create Template object \& my $template = Template\->new($config); \& \& # define template variables for replacement \& my $vars = { \& var1 => $value, \& var2 => \e%hash, \& var3 => \e@list, \& var4 => \e&code, \& var5 => $object, \& }; \& \& # specify input filename, or file handle, text reference, etc. \& my $input = \*(Aqmyfile.html\*(Aq; \& \& # process input template, substituting variables \& $template\->process($input, $vars) \& || die $template\->error(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This documentation describes the Template module which is the direct Perl interface into the Template Toolkit. It covers the use of the module and gives a brief summary of configuration options and template directives. Please see Template::Manual for the complete reference manual which goes into much greater depth about the features and use of the Template Toolkit. The Template::Tutorial is also available as an introductory guide to using the Template Toolkit. .SH "METHODS" .IX Header "METHODS" .SS "new(\e%config)" .IX Subsection "new(%config)" The \f(CW\*(C`new()\*(C'\fR constructor method (implemented by the Template::Base base class) instantiates a new \&\f(CW\*(C`Template\*(C'\fR object. A reference to a hash array of configuration items may be passed as a parameter. .PP .Vb 4 \& my $tt = Template\->new({ \& INCLUDE_PATH => \*(Aq/usr/local/templates\*(Aq, \& EVAL_PERL => 1, \& }) || die $Template::ERROR, "\en"; .Ve .PP A reference to a new \f(CW\*(C`Template\*(C'\fR object is returned, or undef on error. In the latter case, the error message can be retrieved by calling \fIerror()\fR as a class method or by examining the \f(CW$Template::ERROR\fR package variable directly. .PP .Vb 2 \& my $tt = Template\->new(\e%config) \& || die Template\->error(), "\en"; \& \& my $tt = Template\->new(\e%config) \& || die $Template::ERROR, "\en"; .Ve .PP For convenience, configuration items may also be specified as a list of items instead of a hash array reference. These are automatically folded into a hash array by the constructor. .PP .Vb 2 \& my $tt = Template\->new(INCLUDE_PATH => \*(Aq/tmp\*(Aq, POST_CHOMP => 1) \& || die $Template::ERROR, "\en"; .Ve .ie n .SS "process($template, \e%vars, $output, %options)" .el .SS "process($template, \e%vars, \f(CW$output\fP, \f(CW%options\fP)" .IX Subsection "process($template, %vars, $output, %options)" The \f(CW\*(C`process()\*(C'\fR method is called to process a template. The first parameter indicates the input template as one of: a filename relative to \&\f(CW\*(C`INCLUDE_PATH\*(C'\fR, if defined; a reference to a text string containing the template text; or a file handle reference (e.g. \f(CW\*(C`IO::Handle\*(C'\fR or sub-class) or \&\f(CW\*(C`GLOB\*(C'\fR (e.g. \f(CW\*(C`\e*STDIN\*(C'\fR), from which the template can be read. A reference to a hash array may be passed as the second parameter, containing definitions of template variables. .PP .Vb 3 \& # filename \& $tt\->process(\*(Aqwelcome.tt2\*(Aq) \& || die $tt\->error(), "\en"; \& \& # text reference \& $text = "[% INCLUDE header %]\enHello world!\en[% INCLUDE footer %]"; \& $tt\->process(\e$text) \& || die $tt\->error(), "\en"; \& \& # file handle (GLOB) \& $tt\->process(\e*DATA) \& || die $tt\->error(), "\en"; \& \& _\|_END_\|_ \& [% INCLUDE header %] \& This is a template defined in the _\|_END_\|_ section which is \& accessible via the DATA "file handle". \& [% INCLUDE footer %] .Ve .PP By default, the processed template output is printed to \f(CW\*(C`STDOUT\*(C'\fR. The \&\f(CW\*(C`process()\*(C'\fR method then returns \f(CW1\fR to indicate success. A third parameter may be passed to the \f(CW\*(C`process()\*(C'\fR method to specify a different output location. This value may be one of: a plain string indicating a filename which will be opened (relative to \f(CW\*(C`OUTPUT_PATH\*(C'\fR, if defined) and the output written to; a file \&\s-1GLOB\s0 opened ready for output; a reference to a scalar (e.g. a text string) to which output/error is appended; a reference to a subroutine which is called, passing the output as a parameter; or any object reference which implements a \&\f(CW\*(C`print()\*(C'\fR method (e.g. \f(CW\*(C`IO::Handle\*(C'\fR, \f(CW\*(C`Apache::Request\*(C'\fR, etc.) which will be called, passing the generated output as a parameter. .PP Examples: .PP .Vb 3 \& # output filename \& $tt\->process(\*(Aqwelcome.tt2\*(Aq, $vars, \*(Aqwelcome.html\*(Aq) \& || die $tt\->error(), "\en"; \& \& # reference to output subroutine \& sub myout { \& my $output = shift; \& ... \& } \& $tt\->process(\*(Aqwelcome.tt2\*(Aq, $vars, \e&myout) \& || die $tt\->error(), "\en"; \& \& # reference to output text string \& my $output = \*(Aq\*(Aq; \& $tt\->process(\*(Aqwelcome.tt2\*(Aq, $vars, \e$output) \& || die $tt\->error(), "\en"; \& \& print "output: $output\en"; .Ve .PP In an Apache/mod_perl handler: .PP .Vb 2 \& sub handler { \& my $req = shift; \& \& # ...your code here... \& \& # direct output to Apache::Request via $req\->print($output) \& $tt\->process($file, $vars, $req) || do { \& $req\->log_reason($tt\->error()); \& return SERVER_ERROR; \& }; \& return OK; \& } .Ve .PP After the optional third output argument can come an optional reference to a hash or a list of \f(CW\*(C`(name, value)\*(C'\fR pairs providing further options for the output. The only option currently supported is \&\f(CW\*(C`binmode\*(C'\fR which, when set to any true value will ensure that files created (but not any existing file handles passed) will be set to binary mode. .PP .Vb 3 \& # either: hash reference of options \& $tt\->process($infile, $vars, $outfile, { binmode => 1 }) \& || die $tt\->error(), "\en"; \& \& # or: list of name, value pairs \& $tt\->process($infile, $vars, $outfile, binmode => 1) \& || die $tt\->error(), "\en"; .Ve .PP Alternately, the \f(CW\*(C`binmode\*(C'\fR argument can specify a particular \s-1IO\s0 layer such as \f(CW\*(C`:utf8\*(C'\fR. .PP .Vb 2 \& $tt\->process($infile, $vars, $outfile, binmode => \*(Aq:utf8\*(Aq) \& || die $tt\->error(), "\en"; .Ve .PP The \f(CW\*(C`OUTPUT\*(C'\fR configuration item can be used to specify a default output location other than \f(CW\*(C`\e*STDOUT\*(C'\fR. The \f(CW\*(C`OUTPUT_PATH\*(C'\fR specifies a directory which should be prefixed to all output locations specified as filenames. .PP .Vb 5 \& my $tt = Template\->new({ \& OUTPUT => sub { ... }, # default \& OUTPUT_PATH => \*(Aq/tmp\*(Aq, \& ... \& }) || die Template\->error(), "\en"; \& \& # use default OUTPUT (sub is called) \& $tt\->process(\*(Aqwelcome.tt2\*(Aq, $vars) \& || die $tt\->error(), "\en"; \& \& # write file to \*(Aq/tmp/welcome.html\*(Aq \& $tt\->process(\*(Aqwelcome.tt2\*(Aq, $vars, \*(Aqwelcome.html\*(Aq) \& || die $tt\->error(), "\en"; .Ve .PP The \f(CW\*(C`process()\*(C'\fR method returns \f(CW1\fR on success or \f(CW\*(C`undef\*(C'\fR on error. The error message generated in the latter case can be retrieved by calling the \&\fIerror()\fR method. See also \*(L"\s-1CONFIGURATION SUMMARY\*(R"\s0 which describes how error handling may be further customised. .SS "\fIerror()\fP" .IX Subsection "error()" When called as a class method, it returns the value of the \f(CW$ERROR\fR package variable. Thus, the following are equivalent. .PP .Vb 2 \& my $tt = Template\->new() \& || die Template\->error(), "\en"; \& \& my $tt = Template\->new() \& || die $Template::ERROR, "\en"; .Ve .PP When called as an object method, it returns the value of the internal \&\f(CW\*(C`_ERROR\*(C'\fR variable, as set by an error condition in a previous call to \&\fIprocess()\fR. .PP .Vb 2 \& $tt\->process(\*(Aqwelcome.tt2\*(Aq) \& || die $tt\->error(), "\en"; .Ve .PP Errors are represented in the Template Toolkit by objects of the Template::Exception class. If the \fIprocess()\fR method returns a false value then the \f(CW\*(C`error()\*(C'\fR method can be called to return an object of this class. The \fItype()\fR and \&\fIinfo()\fR methods can called on the object to retrieve the error type and information string, respectively. The \&\fIas_string()\fR method can be called to return a string of the form \f(CW\*(C`$type \- $info\*(C'\fR. This method is also overloaded onto the stringification operator allowing the object reference itself to be printed to return the formatted error string. .PP .Vb 6 \& $tt\->process(\*(Aqsomefile\*(Aq) || do { \& my $error = $tt\->error(); \& print "error type: ", $error\->type(), "\en"; \& print "error info: ", $error\->info(), "\en"; \& print $error, "\en"; \& }; .Ve .SS "\fIservice()\fP" .IX Subsection "service()" The \f(CW\*(C`Template\*(C'\fR module delegates most of the effort of processing templates to an underlying Template::Service object. This method returns a reference to that object. .SS "\fIcontext()\fP" .IX Subsection "context()" The Template::Service module uses a core Template::Context object for runtime processing of templates. This method returns a reference to that object and is equivalent to \f(CW\*(C`$template\->service\->context()\*(C'\fR. .SS "template($name)" .IX Subsection "template($name)" This method is a simple wrapper around the Template::Context method of the same name. It returns a compiled template for the source provided as an argument. .SH "CONFIGURATION SUMMARY" .IX Header "CONFIGURATION SUMMARY" The following list gives a short summary of each Template Toolkit configuration option. See Template::Manual::Config for full details. .SS "Template Style and Parsing Options" .IX Subsection "Template Style and Parsing Options" \fI\s-1ENCODING\s0\fR .IX Subsection "ENCODING" .PP Specifies the character encoding. .PP \fI\s-1START_TAG, END_TAG\s0\fR .IX Subsection "START_TAG, END_TAG" .PP Define tokens that indicate start and end of directives (default: '\f(CW\*(C`[%\*(C'\fR' and '\f(CW\*(C`%]\*(C'\fR'). .PP \fI\s-1TAG_STYLE\s0\fR .IX Subsection "TAG_STYLE" .PP Set \f(CW\*(C`START_TAG\*(C'\fR and \f(CW\*(C`END_TAG\*(C'\fR according to a pre-defined style (default: \&'\f(CW\*(C`template\*(C'\fR', as above). .PP \fI\s-1PRE_CHOMP, POST_CHOMP\s0\fR .IX Subsection "PRE_CHOMP, POST_CHOMP" .PP Removes whitespace before/after directives (default: 0/0). .PP \fI\s-1TRIM\s0\fR .IX Subsection "TRIM" .PP Remove leading and trailing whitespace from template output (default: 0). .PP \fI\s-1INTERPOLATE\s0\fR .IX Subsection "INTERPOLATE" .PP Interpolate variables embedded like \f(CW$this\fR or \f(CW\*(C`${this}\*(C'\fR (default: 0). .PP \fI\s-1ANYCASE\s0\fR .IX Subsection "ANYCASE" .PP Allow directive keywords in lower case (default: 0 \- \s-1UPPER\s0 only). .SS "Template Files and Blocks" .IX Subsection "Template Files and Blocks" \fI\s-1INCLUDE_PATH\s0\fR .IX Subsection "INCLUDE_PATH" .PP One or more directories to search for templates. .PP \fI\s-1DELIMITER\s0\fR .IX Subsection "DELIMITER" .PP Delimiter for separating paths in \f(CW\*(C`INCLUDE_PATH\*(C'\fR (default: '\f(CW\*(C`:\*(C'\fR'). .PP \fI\s-1ABSOLUTE\s0\fR .IX Subsection "ABSOLUTE" .PP Allow absolute file names, e.g. \f(CW\*(C`/foo/bar.html\*(C'\fR (default: 0). .PP \fI\s-1RELATIVE\s0\fR .IX Subsection "RELATIVE" .PP Allow relative filenames, e.g. \f(CW\*(C`../foo/bar.html\*(C'\fR (default: 0). .PP \fI\s-1DEFAULT\s0\fR .IX Subsection "DEFAULT" .PP Default template to use when another not found. .PP \fI\s-1BLOCKS\s0\fR .IX Subsection "BLOCKS" .PP Hash array pre-defining template blocks. .PP \fI\s-1AUTO_RESET\s0\fR .IX Subsection "AUTO_RESET" .PP Enabled by default causing \f(CW\*(C`BLOCK\*(C'\fR definitions to be reset each time a template is processed. Disable to allow \f(CW\*(C`BLOCK\*(C'\fR definitions to persist. .PP \fI\s-1RECURSION\s0\fR .IX Subsection "RECURSION" .PP Flag to permit recursion into templates (default: 0). .SS "Template Variables" .IX Subsection "Template Variables" \fI\s-1VARIABLES\s0\fR .IX Subsection "VARIABLES" .PP Hash array of variables and values to pre-define in the stash. .SS "Runtime Processing Options" .IX Subsection "Runtime Processing Options" \fI\s-1EVAL_PERL\s0\fR .IX Subsection "EVAL_PERL" .PP Flag to indicate if \f(CW\*(C`PERL\*(C'\fR/\f(CW\*(C`RAWPERL\*(C'\fR blocks should be processed (default: 0). .PP \fI\s-1PRE_PROCESS, POST_PROCESS\s0\fR .IX Subsection "PRE_PROCESS, POST_PROCESS" .PP Name of template(s) to process before/after main template. .PP \fI\s-1PROCESS\s0\fR .IX Subsection "PROCESS" .PP Name of template(s) to process instead of main template. .PP \fI\s-1ERROR\s0\fR .IX Subsection "ERROR" .PP Name of error template or reference to hash array mapping error types to templates. .PP \fI\s-1OUTPUT\s0\fR .IX Subsection "OUTPUT" .PP Default output location or handler. .PP \fI\s-1OUTPUT_PATH\s0\fR .IX Subsection "OUTPUT_PATH" .PP Directory into which output files can be written. .PP \fI\s-1DEBUG\s0\fR .IX Subsection "DEBUG" .PP Enable debugging messages. .SS "Caching and Compiling Options" .IX Subsection "Caching and Compiling Options" \fI\s-1CACHE_SIZE\s0\fR .IX Subsection "CACHE_SIZE" .PP Maximum number of compiled templates to cache in memory (default: undef \- cache all) .PP \fI\s-1COMPILE_EXT\s0\fR .IX Subsection "COMPILE_EXT" .PP Filename extension for compiled template files (default: undef \- don't compile). .PP \fI\s-1COMPILE_DIR\s0\fR .IX Subsection "COMPILE_DIR" .PP Root of directory in which compiled template files should be written (default: undef \- don't compile). .SS "Plugins and Filters" .IX Subsection "Plugins and Filters" \fI\s-1PLUGINS\s0\fR .IX Subsection "PLUGINS" .PP Reference to a hash array mapping plugin names to Perl packages. .PP \fI\s-1PLUGIN_BASE\s0\fR .IX Subsection "PLUGIN_BASE" .PP One or more base classes under which plugins may be found. .PP \fI\s-1LOAD_PERL\s0\fR .IX Subsection "LOAD_PERL" .PP Flag to indicate regular Perl modules should be loaded if a named plugin can't be found (default: 0). .PP \fI\s-1FILTERS\s0\fR .IX Subsection "FILTERS" .PP Hash array mapping filter names to filter subroutines or factories. .SS "Customisation and Extension" .IX Subsection "Customisation and Extension" \fI\s-1LOAD_TEMPLATES\s0\fR .IX Subsection "LOAD_TEMPLATES" .PP List of template providers. .PP \fI\s-1LOAD_PLUGINS\s0\fR .IX Subsection "LOAD_PLUGINS" .PP List of plugin providers. .PP \fI\s-1LOAD_FILTERS\s0\fR .IX Subsection "LOAD_FILTERS" .PP List of filter providers. .PP \fI\s-1TOLERANT\s0\fR .IX Subsection "TOLERANT" .PP Set providers to tolerate errors as declinations (default: 0). .PP \fI\s-1SERVICE\s0\fR .IX Subsection "SERVICE" .PP Reference to a custom service object (default: Template::Service). .PP \fI\s-1CONTEXT\s0\fR .IX Subsection "CONTEXT" .PP Reference to a custom context object (default: Template::Context). .PP \fI\s-1STASH\s0\fR .IX Subsection "STASH" .PP Reference to a custom stash object (default: Template::Stash). .PP \fI\s-1PARSER\s0\fR .IX Subsection "PARSER" .PP Reference to a custom parser object (default: Template::Parser). .PP \fI\s-1GRAMMAR\s0\fR .IX Subsection "GRAMMAR" .PP Reference to a custom grammar object (default: Template::Grammar). .SH "DIRECTIVE SUMMARY" .IX Header "DIRECTIVE SUMMARY" The following list gives a short summary of each Template Toolkit directive. See Template::Manual::Directives for full details. .SS "\s-1GET\s0" .IX Subsection "GET" Evaluate and print a variable or value. .PP .Vb 7 \& [% GET variable %] # \*(AqGET\*(Aq keyword is optional \& [% variable %] \& [% hash.key %] \& [% list.n %] \& [% code(args) %] \& [% obj.meth(args) %] \& [% "value: $var" %] .Ve .SS "\s-1CALL\s0" .IX Subsection "CALL" As per \s-1GET\s0 but without printing result (e.g. call code) .PP .Vb 1 \& [% CALL variable %] .Ve .SS "\s-1SET\s0" .IX Subsection "SET" Assign a values to variables. .PP .Vb 8 \& [% SET variable = value %] # \*(AqSET\*(Aq also optional \& [% variable = other_variable \& variable = \*(Aqliteral text @ $100\*(Aq \& variable = "interpolated text: $var" \& list = [ val, val, val, val, ... ] \& list = [ val..val ] \& hash = { var => val, var => val, ... } \& %] .Ve .SS "\s-1DEFAULT\s0" .IX Subsection "DEFAULT" Like \s-1SET\s0, but variables are only set if currently unset (i.e. have no true value). .PP .Vb 1 \& [% DEFAULT variable = value %] .Ve .SS "\s-1INSERT\s0" .IX Subsection "INSERT" Insert a file without any processing performed on the contents. .PP .Vb 1 \& [% INSERT legalese.txt %] .Ve .SS "\s-1PROCESS\s0" .IX Subsection "PROCESS" Process another template file or block and insert the generated output. Any template \s-1BLOCK\s0s or variables defined or updated in the \f(CW\*(C`PROCESS\*(C'\fRed template will thereafter be defined in the calling template. .PP .Vb 2 \& [% PROCESS template %] \& [% PROCESS template var = val, ... %] .Ve .SS "\s-1INCLUDE\s0" .IX Subsection "INCLUDE" Similar to \f(CW\*(C`PROCESS\*(C'\fR, but using a local copy of the current variables. Any template \f(CW\*(C`BLOCK\*(C'\fRs or variables defined in the \f(CW\*(C`INCLUDE\*(C'\fRd template remain local to it. .PP .Vb 2 \& [% INCLUDE template %] \& [% INCLUDE template var = val, ... %] .Ve .SS "\s-1WRAPPER\s0" .IX Subsection "WRAPPER" The content between the \f(CW\*(C`WRAPPER\*(C'\fR and corresponding \f(CW\*(C`END\*(C'\fR directives is first evaluated, with the output generated being stored in the \f(CW\*(C`content\*(C'\fR variable. The named template is then process as per \f(CW\*(C`INCLUDE\*(C'\fR. .PP .Vb 3 \& [% WRAPPER layout %] \& Some template markup [% blah %]... \& [% END %] .Ve .PP A simple \fIlayout\fR template might look something like this: .PP .Vb 3 \& Your header here... \& [% content %] \& Your footer here... .Ve .SS "\s-1BLOCK\s0" .IX Subsection "BLOCK" Define a named template block for \s-1INCLUDE\s0, \s-1PROCESS\s0 and \s-1WRAPPER\s0 to use. .PP .Vb 3 \& [% BLOCK hello %] \& Hello World \& [% END %] \& \& [% INCLUDE hello %] .Ve .SS "\s-1FOREACH\s0" .IX Subsection "FOREACH" Repeat the enclosed \f(CW\*(C`FOREACH\*(C'\fR ... \f(CW\*(C`END\*(C'\fR block for each value in the list. .PP .Vb 4 \& [% FOREACH variable IN [ val, val, val ] %] # either \& [% FOREACH variable IN list %] # or \& The variable is set to [% variable %] \& [% END %] .Ve .SS "\s-1WHILE\s0" .IX Subsection "WHILE" The block enclosed between \f(CW\*(C`WHILE\*(C'\fR and \f(CW\*(C`END\*(C'\fR block is processed while the specified condition is true. .PP .Vb 3 \& [% WHILE condition %] \& content \& [% END %] .Ve .SS "\s-1IF / UNLESS / ELSIF / ELSE\s0" .IX Subsection "IF / UNLESS / ELSIF / ELSE" The enclosed block is processed if the condition is true / false. .PP .Vb 7 \& [% IF condition %] \& content \& [% ELSIF condition %] \& content \& [% ELSE %] \& content \& [% END %] \& \& [% UNLESS condition %] \& content \& [% # ELSIF/ELSE as per IF, above %] \& content \& [% END %] .Ve .SS "\s-1SWITCH / CASE\s0" .IX Subsection "SWITCH / CASE" Multi-way switch/case statement. .PP .Vb 8 \& [% SWITCH variable %] \& [% CASE val1 %] \& content \& [% CASE [ val2, val3 ] %] \& content \& [% CASE %] # or [% CASE DEFAULT %] \& content \& [% END %] .Ve .SS "\s-1MACRO\s0" .IX Subsection "MACRO" Define a named macro. .PP .Vb 5 \& [% MACRO name %] \& [% MACRO name(arg1, arg2) %] \& ... \& [% name %] \& [% name(val1, val2) %] .Ve .SS "\s-1FILTER\s0" .IX Subsection "FILTER" Process enclosed \f(CW\*(C`FILTER\*(C'\fR ... \f(CW\*(C`END\*(C'\fR block then pipe through a filter. .PP .Vb 5 \& [% FILTER name %] # either \& [% FILTER name( params ) %] # or \& [% FILTER alias = name( params ) %] # or \& content \& [% END %] .Ve .SS "\s-1USE\s0" .IX Subsection "USE" Load a plugin module (see \f(CW\*(C`Template::set(\*(Aqfoo\*(Aq, 10); \& print "set \*(Aqfoo\*(Aq to ", $stash\->get(\*(Aqfoo\*(Aq), "\en"; \& print $context\->include(\*(Aqfooter\*(Aq, { var => $val }); \& [% END %] \& \& [% RAWPERL %] \& # raw perl code goes here, no magic but fast. \& $output .= \*(Aqsome output\*(Aq; \& [% END %] .Ve .SS "\s-1TRY / THROW / CATCH / FINAL\s0" .IX Subsection "TRY / THROW / CATCH / FINAL" Exception handling. .PP .Vb 11 \& [% TRY %] \& content \& [% THROW type info %] \& [% CATCH type %] \& catch content \& [% error.type %] [% error.info %] \& [% CATCH %] # or [% CATCH DEFAULT %] \& content \& [% FINAL %] \& this block is always processed \& [% END %] .Ve .SS "\s-1NEXT\s0" .IX Subsection "NEXT" Jump straight to the next item in a \f(CW\*(C`FOREACH\*(C'\fR or \f(CW\*(C`WHILE\*(C'\fR loop. .PP .Vb 1 \& [% NEXT %] .Ve .SS "\s-1LAST\s0" .IX Subsection "LAST" Break out of \f(CW\*(C`FOREACH\*(C'\fR or \f(CW\*(C`WHILE\*(C'\fR loop. .PP .Vb 1 \& [% LAST %] .Ve .SS "\s-1RETURN\s0" .IX Subsection "RETURN" Stop processing current template and return to including templates. .PP .Vb 1 \& [% RETURN %] .Ve .SS "\s-1STOP\s0" .IX Subsection "STOP" Stop processing all templates and return to caller. .PP .Vb 1 \& [% STOP %] .Ve .SS "\s-1TAGS\s0" .IX Subsection "TAGS" Define new tag style or characters (default: \f(CW\*(C`[%\*(C'\fR \f(CW\*(C`%]\*(C'\fR). .PP .Vb 2 \& [% TAGS html %] \& [% TAGS %] .Ve .SS "\s-1COMMENTS\s0" .IX Subsection "COMMENTS" Ignored and deleted. .PP .Vb 3 \& [% # this is a comment to the end of line \& foo = \*(Aqbar\*(Aq \& %] \& \& [%# placing the \*(Aq#\*(Aq immediately inside the directive \& tag comments out the entire directive \& %] .Ve .SH "SOURCE CODE REPOSITORY" .IX Header "SOURCE CODE REPOSITORY" The source code for the Template Toolkit is held in a public git repository on Github: .SH "AUTHOR" .IX Header "AUTHOR" Andy Wardley .SH "VERSION" .IX Header "VERSION" Template Toolkit version 2.26, released January 2014. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 1996\-2014 Andy Wardley. All Rights Reserved. .PP This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.