NAME
Template::Plugin::ScalarUtil - Scalar::Util plugin for Template-Toolkit
VERSION
version 1.121160
SYNOPSIS
[% USE ScalarUtil %]
# blessed
[% ScalarUtil.blessed(EXPR) ? 'blessed' : 'not blessed' %]
# dualvar
[% SET dv = ScalarUtil.dualvar( 5, "Hello" ) %]
[% SET num = dv + 7 %]
[% SET string = dv _ " world!" %]
[% num == string.length ? "correct" : "ups" %]
# isvstring
[% ScalarUtil.isvstring(vstring) ? 'is vstring' : 'is not vstring' %]
# looks_like_number
[% ScalarUtil.looks_like_number('Infinity') ? 'number' : 'not number' %]
# openhandle
[% ScalarUtil.openhandle(FH) ? "opened" : "not opened" %]
# refaddr
[% ScalarUtil.refaddr(EXPR) %]
# reftype
[% ScalarUtil.reftype(EXPR) %]
# tainted
[% ScalarUtil.tainted(EXPR) %]
DESCRIPTION
Use Scalar::Util functions in your templates.
METHODS
blessed
[%
IF ScalarUtil.blessed(EXPR);
EXPR.method(args);
END;
%]
Returns the name of the package if EXPR
is a blessed reference.
dualvar
[% SET dv = ScalarUtil.dualvar( num, string ) %]
Returns a scalar that has the value num
in a numeric context and the value string
in a string context.
isvstring
[%
USE vstring = format('%vd');
USE string = format('%s');
IF ScalarUtil.isvstring(EXPR);
vstring(EXPR);
ELSE;
string(EXPR);
END;
%]
Returns true if EXPR
was coded as vstring;
looks_like_number
[% IF ScalarUtil.looks_like_number(EXPR) %]
[% EXPR %] looks like number
[% END %]
Returns true if perl thinks EXPR
is a number.
openhandle
[% IF ScalarUtil.openhandle(FH) %]
FH is an opened filehandle
[% END %]
Returns FH
if it is opened filehandle, undef
otherwise.
refaddr
[% ScalarUtil.refaddr(EXPR) %]
Returns internal memory address of the EXPR
if it is a reference, undef
otherwise.
reftype
[% SWITCH ScalarUtil.reftype(EXPR) %]
[% CASE 'ARRAY' %]
[% EXPR.size %]
[% CASE 'HASH' %]
[% EXPR.list.size %]
[% END %]
Returns the type of the EXPR
if it is a reference, undef
otherwise.
tainted
[% IF ScalarUtil.tainted(EXPR) %]
EXPR is tainted
[% END %]
Returns true if EXPR
is tainted.
NOTES
Please note that following methods were NOT implemented due to the nature of TT's stash.
isweak
readonly
set_prototype
weaken
SEE ALSO
Please see those modules/websites for more information related to this module.
AUTHOR
Alex J. G. Burzyński <ajgb@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Alex J. G. Burzyński <ajgb@cpan.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.