获取perl字符串计算结果

获取perl字符串计算结果,第1张

概述如果一个字符串表示如下 $str =“5 2-1”; 我想从该字符串中获取计算结果. 如何转换为标量来计算? 谢谢. 最简单的方法: print eval('5+2-1'); 但这不安全: print eval('print "You are hacked"'); 您需要在评估之前检查字符串. 您也可以使用来自cpan的Math::Expression模块或许多其他模块: #!/usr/bin/p 如果一个字符串表示如下
$str =“5 2-1”;
我想从该字符串中获取计算结果.
如何转换为标量来计算?
谢谢.解决方法 最简单的方法:

print eval('5+2-1');

但这不安全:

print eval('print "You are Hacked"');

您需要在评估之前检查字符串.
您也可以使用来自cpan的Math::Expression模块或许多其他模块:

#!/usr/bin/perluse strict;use warnings;use Math::Expression;my $env = Math::Expression->new;my $res = $env->Parse( '5+2-1' );# my $res = $env->Parse( 'print you are Hacked' );  # no math Expression hereprint $env->Eval( $res );
总结

以上是内存溢出为你收集整理的获取perl字符串计算结果全部内容,希望文章能够帮你解决获取perl字符串计算结果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存