4.15. counter

4.15.1. Summary

Parameters: file

Positional parameters in same order.

Invalidates cache: YES

Called Routine:

ASP-like Perl call:

    $Tag->counter(
        {
         file => VALUE,
        }
    )

 OR

    $Tag->counter($file, $ATTRHASH);

Attribute aliases

            name ==> file
    [counter file]
Parameters Description Default
file   DEFAULT_VALUE
name Alias for file DEFAULT_VALUE
Attributes Default
interpolate (reparse) No
Other_Characteristics  
Invalidates cache YES
Container tag No
Has Subtags No
Nests Yes

Tag expansion example:

   [counter file]
---
   TODO: (tag result)

ASP-like Perl call:

   $Tag->counter(  { file => VALUE_file
}, $body  );

or similarly with positional parameters,

    $Tag->counter(file, $attribute_hash_reference, $body);

4.15.2. Description

Manipulates a persistent counter, by default incrementing it and returning the new value.

The counter value is stored in the specified file. If the file name begins with a "/" then it is an absolute path. Otherwise, it is relative to VendRoot. The default file is etc/counter. If the file does not exist, it is created and initialized to the value of the start parameter.

The counter is implemented using Perl's File::Counter module, which protects the file against simultaneous access by multiple processes.

WARNING: This tag will not work under Safe, i.e. in embedded Perl.

Additional parameters:

4.15.2.1. decrement=1

Causes the counter to count down instead of up.

4.15.2.2. start=50

Causes a new counter to be created and to start from 50 (for example) if it did not exist before.

4.15.2.3. value=1

Shows the value of the counter without incrementing or decrementing it.

4.15.2.4. file