Tie::CountLoop(3) User Contributed Perl Documentation Tie::CountLoop(3)
NNAAMMEE
Tie::CountLoop - Have a counter looping in a scalar with min max and
increment value.
SSYYNNOOPPSSIISS
use Tie::CountLoop;
tie my $counter , 'Tie::CountLoop',15 ,-1 ,15 ,7 ,0;
my $t = tied $counter;
$t->increment( 1 );
for ( 1 .. 20 )
{
print " <<$counter>> <$_> \n";
}
## stop temporary the auto increment behaviour
$t->auto( 0 );
for ( 1 .. 20 )
{
print " <<$counter>> <$_> \n";
}
or
## the default value allow this
## it is the same as my $counter , 'Tie::CountLoop', 0 , 1 , ( 2**32 ) - 1 , 0 , 0;
use Tie::CountLoop;
tie my $counter , 'Tie::CountLoop';
for ( 1 .. 20 )
{
print " <<$counter>> <$_> \n";
}
## How to toggle a binary flag after 5 access to the valriable
my $t1 = tie my $counter1 , 'Tie::CountLoop',0,1,1,0,5;
for ( 1 .. 20 )
{
print " <<$counter1>> <$_> \n";
}
DDEESSCCRRIIPPTTIIOONN
"Tie::CountLoop" allows you to tie a scalar in such a way that it
increments each time it is used. The tie takes 4 optionals extra
arguments.
Argument 1: is the _s_t_a_r_t value of the counter. (default =0).
Argument 2: is the _i_n_c_r_e_m_e_n_t value. (default = 1).
Argument 3: is the _m_a_x_i_m_a_l value. When this value is reached, the
counter is set to the _m_i_n_i_m_a_l value (default = (2**32) -1)
Argument 4: is the _m_i_n_i_m_a_l value. When this value is reached if we used
an negative _i_n_c_r_e_m_e_n_t value, the counter is set to the _m_a_x_i_m_a_l _v_a_l_u_e
(default = 0)
Argument 5: is a _s_k_i_p_p_i_n_g value. If set to 3, means that you could
access the counter 3 time without incrementing (default=1)
MMEETTHHOODDSS
The Tie::CountLoop provide 7 extra methods.
aauuttoo
which change the autoincrement behaviour. With 1, the counter is
incremented when accessed. With 0, the counter is NOT incremented
when accessed.
ttooggggllee
which toggle the autoincrement behaviour (on and off and again).
vvaalluuee
get/set the value of the counter without incrementing the counter.
mmaaxx
get/set the maximal value for the counter.
mmiinn
get/set the minimal value for the counter.
iinnccrreemmeenntt
get/set the increment value for the counter.
sskkiipp
get/set the skipping value for the counter.
RREEVVIISSIIOONN HHIISSTTOORRYY
Revision 1.7 2008/09/25 15:52:27 fabrice
add extra methods to access all parameter of the counter
clean the code for auto and toggle to allow instantiation by object
Revision 1.6 2006/11/14 13:31:56 fabrice
fix default value for skip parameter
Revision 1.5 2006/02/03 10:42:55 fabrice
add README file
Revision 1.4 2006/02/03 10:21:37 fabrice
correct code for maximal and minimal value after increment
Revision 1.3 2006/01/26 19:31:20 fabrice
add method 'retrieve'
Revision 1.2 2006/01/26 15:53:56 fabrice
pod created
Revision: 1.1 start project
AAUUTTHHOORR
This package was written by _D_u_l_a_u_n_o_y _F_a_b_r_i_c_e _<_f_a_b_r_i_c_e_@_d_u_l_a_u_n_o_y_._c_o_m>.
CCOOPPYYRRIIGGHHTT aanndd LLIICCEENNSSEE
This package is copyright 2006-2008 by _D_u_l_a_u_n_o_y _F_a_b_r_i_c_e
_<_f_a_b_r_i_c_e_@_d_u_l_a_u_n_o_y_._c_o_m>.
Under the GNU GPL2
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Tie::CountLoop Copyright (C) 2004-2008 DULAUNOY Fabrice Tie::CountLoop
comes with ABSOLUTELY NO WARRANTY; for details See:
<http://www.gnu.org/licenses/gpl.html> This is free software, and you
are welcome to redistribute it under certain conditions;
perl v5.10.0 2008-09-25 Tie::CountLoop(3)