package Lag; sub new { my $pkg = shift; my $self = {}; $self->{'lapse'} = shift || 441; $self->{'disk'} = [(0) x $self->{'lapse'}]; $self->{'now'} = 0; bless $self,$pkg; return $self; } sub in { my $self = shift; $self->{'disk'}[$self->{'now'}] = shift; } sub out { my $self = shift; return($self->{'disk'}[$self->{'now'}]); } sub pulse { my $self = shift; $self->{'now'}++; $self->{'now'} = 0 if ($self->{'now'} == $self->{'lapse'}); } 'end Lag';