From: "Chas. Owens" <[EMAIL PROTECTED]>
> On Dec 28, 2007 10:15 AM, Adarsh Srivastava
> <[EMAIL PROTECTED]> wrote:
> > Hello,
> >
> > Is there any inbuilt/external function or library that can convert a text
> > expression (eg. "22 + 23") and evaluate the resulting value?( 45 in this
> > case).
> snip
> 
> Well, the string form of eval will do this; however, it is very
> dangerous.  What if the string contained valid Perl code* to do
> something on your system?  Any time you use the string form of eval
> you should first run the string through a regex make sure it only
> contains things you expect it to.

Another way to restrict what the evaled code may do is to use the 
Safe.pm module.

use Safe;

$safe = new Safe;
$safe->reval("22+23");


HTH, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to