Int
Any integer value. As argument, any scalar value (which is implicitly coerced to integer). |
Float
Any floating point value. As argument, any scalar value (which is implicitly coerced to float). |
Num
Any numeric (integer or float) value. As argument, any scalar value (which is implicitly coerced to numeric). |
Str
Any string value. As argument, any scalar value (which is implicitly coerced to string). |
Bool
Boolean value: either true or false. As argument: 0, "" and undef treated as false; anything different treated as true. As result: either 0 (false) or 1 (true). |
Sign
Sign: negative, positive or zero. As argument: any scalar value is coerced to numeric and compared with 0. As result: exactly -1 (negative), 0 (zero) or 1 (positive). |
Scal
Value of arbitrary scalar type. |
List
Anything evaluating to list (including scalars and undef as trivial lists). |
Term
Anything evaluating to term expression. |
Block
Anything evaluating to block expression. |
Range
Range: specifies integer range. Normally, list (Start, End) is supplied, where Start is range low boundary (inclusive), End is range high boundary (exclusive). (Range is empty, if Start >= End). If scalar value N is supplied, range 0..N is assumed. |
Mut
Anything evaluating to mutable. Error reported, if argument is immutable. |
Array
Anything evaluating to array. Error reported, if argument is not array. |
Hash
Anything evaluating to hash. Error reported, if argument is not hash. |
Object
Anything evaluating to object (of arbitrary class). Error reported, if argument is not object. |
Func
Anything evaluating to functor reference (including builtins, user functors, classes and virtuals). |
Pattern
Expression evaluating to pattern. |
Class
Anything evaluating to class reference (subset of Func). |
Virtual
Anything evaluating to virtual reference (subset of Func). |
Any
Any type without constrains. |