#! /usr/local/bin/perl -w # # callback - demonstrate how callbacks can modify the parameters # of a Tie::Cycle::Sinewave object # # 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; tie my $c, 'Tie::Cycle::Sinewave', { start_min => 1, min => 10, max => 20, period => 4, at_max => sub { my $s = shift; $s->min($s->min() - 2); $s->period($s->period() + 1 ); }, at_min => sub { my $s = shift; $s->max($s->max() + 5); $s->period($s->period() + 1 ); }, }; while( 1 ) { printf "%10.2f\n", $c; select undef, undef, undef, 0.15; }