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.