!/usr/bin/perl use strict; sub set { my ($var, $param) = @_; $var = $param; return $var; } sub add { my ($var, $param) = @_; $var = ($var + $param); return $var; } sub mul { my ($var, $param) = @_; $var = ($var * $param); return $var; } my $register = 0; while( ) { my ($command, $param) = split " ", $_; print $command, "->", $param, "\n"; if( $command eq 'set' ) { $register = set( $register, $param ); } elsif( $command eq 'add' ) { $register = add( $register, $param ); } elsif( $command eq 'mul' ) { $register = mul( $register, $param ); } else { die "Unknown operator: $command\n"; } print "currently: $register\n"; print "------\n"; }