#============================================================= -*-Perl-*- # # Template::Plugin::Format # # DESCRIPTION # # Simple Template Toolkit Plugin which creates formatting functions. # # AUTHOR # Andy Wardley <abw@wardley.org> # # COPYRIGHT # Copyright (C) 1996-2022 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. # #============================================================================ package Template::Plugin::Format; use strict; use warnings; use base 'Template::Plugin'; our $VERSION = '3.100'; 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__ =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('<b>%s</b>') %] [% bold('Hello') %] =head1 DESCRIPTION The format plugin constructs sub-routines which format text according to a C<printf()>-like format string. =head1 AUTHOR Andy Wardley E<lt>abw@wardley.orgE<gt> L<http://wardley.org/> =head1 COPYRIGHT Copyright (C) 1996-2022 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::Plugin> =cut # Local Variables: # mode: perl # perl-indent-level: 4 # indent-tabs-mode: nil # End: # # vim: expandtab shiftwidth=4:
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Assert.pm | File | 3.43 KB | 0444 |
|
Datafile.pm | File | 4.4 KB | 0444 |
|
Date.pm | File | 11.22 KB | 0444 |
|
Directory.pm | File | 10.9 KB | 0444 |
|
Dumper.pm | File | 3.66 KB | 0444 |
|
File.pm | File | 10.92 KB | 0444 |
|
Filter.pm | File | 9.63 KB | 0444 |
|
Format.pm | File | 1.79 KB | 0444 |
|
HTML.pm | File | 5.87 KB | 0444 |
|
Image.pm | File | 11.43 KB | 0444 |
|
Iterator.pm | File | 1.95 KB | 0444 |
|
Math.pm | File | 3.99 KB | 0444 |
|
Pod.pm | File | 1.61 KB | 0444 |
|
Procedural.pm | File | 3.59 KB | 0444 |
|
Scalar.pm | File | 3.67 KB | 0444 |
|
String.pm | File | 17.69 KB | 0444 |
|
Table.pm | File | 12.41 KB | 0444 |
|
URL.pm | File | 5.67 KB | 0444 |
|
View.pm | File | 2.4 KB | 0444 |
|
Wrap.pm | File | 3.18 KB | 0444 |
|