Template::Sandbox::NumberFunctions - Basic number functions library for Template::Sandbox.
use Template::Sandbox::NumberFunctions qw/:all/; # or: use Template::Sandbox::NumberFunctions; my $template = Template::Sandbox->new( library => [ Template::Sandbox::NumberFunctions => qw/ucfirst uc lc/ ], );
Library of basic string manipulation functions for easy import into a Template::Sandbox template.
int( number )
number down to the first integer of lower value as per Perl's
round( number )
number to the nearest integer using mathematical rounding, that being 0.5 and greater being rounded up and everyhing below 0.5 being rounded down.
abs( number )
Return the absolute value of
number as per Perl's
numeric( number )
number for pretty display by adding thousands commas. Note that this does not respect locale.
currency( number )
number for pretty display by adding thousands commas and displaying to two decimal places. Note that this does not respect locale.
accountant_currency( number )
number for pretty display by adding thousands commas and displaying to two decimal places, additionally negative numbers will be displayed in round brackets rather than with a leading minus-sign. Note that this does not respect locale.
decimal( number, places )
number for display to
places decimal places.
exp( number )
log( number )
pow( number, exponent )
sqrt( number )
Wrappers to corresponding Perl power functions (or ** operator for
rand( number | array )
Returns either a random number from
number - 1, or if passed an array will return a random element from that array.
srand( number )
srand() Perl function.
min( a, b )
max( a, b )
Returns the min or max value from
Exports all defined template functions in this library.
There's not really a great many functions in here, the module could be regarded as largely superfluous since you could easily recreate it yourself if you needed it. However it provides a useful example of how to write your own library of template functions.
The pretty display functions don't respect locale and aren't going to do what you want if you're expecting "." as your thousands seperator and "," as your decimal marker.
You can find documentation for this module with the perldoc command.
You can also look for information at:
Original author: Sam Graham <libtemplate-sandbox-perl BLAHBLAH illusori.co.uk>
Last author: $Author: illusori $
Copyright 2005-2010 Sam Graham, all rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.