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.

   *   Scalar::Util

AUTHOR
   Alex J. G. Burzyński <[email protected]>

COPYRIGHT AND LICENSE
   This software is copyright (c) 2012 by Alex J. G. Burzyński
   <[email protected]>.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.