You have to compile the input. Try using eval. It should look something like:
while (<STDIN>) { $calc= eval $_; print $calc."\n"; last; } But, don't forget to catch errors. Sasha > -----Original Message----- > From: Jacques Lederer [mailto:[EMAIL PROTECTED]] > Sent: Sunday, January 19, 2003 12:45 PM > To: [EMAIL PROTECTED] > Subject: scalar number or string? > > > Hello, > When you write > $calc=3+5-2; > print $calc."\n"; > you get 6. (number, not the string "3+5-2") > When you write > while (<STDIN>) { > $calc=$_; > print $calc."\n"; > last; > } > if you run that last one and type 3+5-2, you get > 3+5-2.(string "3+5-2", not the number 6) > Why is it so? And how can I get it to calculate the thing? > I have gone through all of the perldoc perlfaqs. Maybe the > answer is so simple that I don't see it. I am just trying to > build a simple calculator. I have found a rather complicate > solution which works, but there must be a very simple > solution, isn't it? > > Jacques L > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]