#! /usr/local/bin/perl -w
#
# cb2 - Another simple callback demonstration, showing how
#       a T::C::S object can interact with the outside
#
# This file is part of the Tie::Cycle::Sinewave perl extension
# Copyright (c) 2005 David Landgren. All rights reservered.

use strict;
use Tie::Cycle::Sinewave;

my $at_min = 0;
my $at_max = 0;

tie my $c, 'Tie::Cycle::Sinewave', {
    start_max => 1,
    min       => 0,
    max       => 100,
    period    => 12,
    at_max    => sub { ++$at_max },
    at_min    => sub { ++$at_min },
};

my $iter = 0;
while( 1 ) {
    printf "%3d %10.2f %2d %2d\n", ++$iter, $c, $at_min, $at_max;
    select undef, undef, undef, 0.2;
}
