in reply to Dynamically calling different functions?
package Register; use strict; sub new { my $class = shift; my $self = {_register => 0 }; bless $self, $class; } sub set { my $self = shift; $self->{_register} = shift; } sub add { my $self = shift; $self->{_register} += shift; } sub multiply { my $self = shift; $self->{_register} *= shift; } sub value { my $self = shift; return $self->{_register}; } package main; my $r = new Register; my $ops = { set => 'set', add => 'add', mul => 'multiply', }; while(<DATA>){ s/^\s+//; s/\s+$//; my ($operation,$param) = split; my $sub = $ops->{$operation}; $r->$sub($param); print $r->value,"\n"; } __DATA__ set 5 add 2 mul 2
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Dynamically calling different functions?
by Anonymous Monk on Jun 30, 2003 at 20:22 UTC | |
by artist (Parson) on Jun 30, 2003 at 20:41 UTC |