From bcbf441e09fb502cf64924ff2530fa144bdf52c5 Mon Sep 17 00:00:00 2001 From: Andreas Brachold Date: Mon, 13 Aug 2007 18:41:27 +0000 Subject: * Move files to trunk --- lib/Template/Plugin/Format.pm | 124 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 lib/Template/Plugin/Format.pm (limited to 'lib/Template/Plugin/Format.pm') diff --git a/lib/Template/Plugin/Format.pm b/lib/Template/Plugin/Format.pm new file mode 100644 index 0000000..bba55d2 --- /dev/null +++ b/lib/Template/Plugin/Format.pm @@ -0,0 +1,124 @@ +#============================================================= -*-Perl-*- +# +# Template::Plugin::Format +# +# DESCRIPTION +# +# Simple Template Toolkit Plugin which creates formatting functions. +# +# AUTHOR +# Andy Wardley +# +# COPYRIGHT +# Copyright (C) 1996-2000 Andy Wardley. All Rights Reserved. +# Copyright (C) 1998-2000 Canon Research Centre Europe Ltd. +# +# This module is free software; you can redistribute it and/or +# modify it under the same terms as Perl itself. +# +#---------------------------------------------------------------------------- +# +# $Id: Format.pm,v 2.64 2004/01/13 16:20:38 abw Exp $ +# +#============================================================================ + +package Template::Plugin::Format; + +require 5.004; + +use strict; +use vars qw( @ISA $VERSION ); +use base qw( Template::Plugin ); +use Template::Plugin; + +$VERSION = sprintf("%d.%02d", q$Revision: 2.64 $ =~ /(\d+)\.(\d+)/); + + +sub new { + my ($class, $context, $format) = @_;; + return defined $format + ? make_formatter($format) + : \&make_formatter; +} + + +sub make_formatter { + my $format = shift; + $format = '%s' unless defined $format; + return sub { + my @args = @_; + push(@args, '') unless @args; + return sprintf($format, @args); + } +} + + +1; + +__END__ + + +#------------------------------------------------------------------------ +# IMPORTANT NOTE +# This documentation is generated automatically from source +# templates. Any changes you make here may be lost. +# +# The 'docsrc' documentation source bundle is available for download +# from http://www.template-toolkit.org/docs.html and contains all +# the source templates, XML files, scripts, etc., from which the +# documentation for the Template Toolkit is built. +#------------------------------------------------------------------------ + +=head1 NAME + +Template::Plugin::Format - Plugin to create formatting functions + +=head1 SYNOPSIS + + [% USE format %] + [% commented = format('# %s') %] + [% commented('The cat sat on the mat') %] + + [% USE bold = format('%s') %] + [% bold('Hello') %] + +=head1 DESCRIPTION + +The format plugin constructs sub-routines which format text according to +a printf()-like format string. + +=head1 AUTHOR + +Andy Wardley Eabw@andywardley.comE + +L + + + + +=head1 VERSION + +2.64, distributed as part of the +Template Toolkit version 2.13, released on 30 January 2004. + +=head1 COPYRIGHT + + Copyright (C) 1996-2004 Andy Wardley. All Rights Reserved. + Copyright (C) 1998-2002 Canon Research Centre Europe Ltd. + +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 SEE ALSO + +L + +=cut + +# Local Variables: +# mode: perl +# perl-indent-level: 4 +# indent-tabs-mode: nil +# End: +# +# vim: expandtab shiftwidth=4: -- cgit v1.2.3