while( ) { chomp; print "( $_ ) = ( ", eval($_), " )\n"; } #### use Math::Expression::Evaluator; while( ) { chomp; my $m = Math::Expression::Evaluator->new; eval { my $p = $m->parse($_); print "( $_ ) = ( ", $p->val, " )\n"; 1; } or warn "Unable to resolve expression ($_).\n"; } __DATA__ 1+2 1 + 2 2 * 2 + 4 asdf#@fg #### ( 1+2 ) = ( 3 ) ( 1 + 2 ) = ( 3 ) ( 2 * 2 + 4 ) = ( 8 ) Unable to resolve expression (asdf#@fg).