首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl中使用eval的算术表达式

Perl中使用eval的算术表达式
EN

Stack Overflow用户
提问于 2014-05-20 03:46:00
回答 3查看 650关注 0票数 0

我在Perl中有一个关于算术表达式的问题。

我已经写好了代码,但是我不能在eval函数中填充。

示例:

代码语言:javascript
运行
复制
>2+4

6

另一个例子:

代码语言:javascript
运行
复制
>8-2*2

4

这是我的程序

代码语言:javascript
运行
复制
#!/usr/bin/perl  

print ">";

while (<>) {   
  eval(---------);  
  print "\n>"; 
}
EN

回答 3

Stack Overflow用户

发布于 2014-05-20 03:54:44

您可以压缩输入以删除换行符,并使用string eval。

代码语言:javascript
运行
复制
#!/usr/bin/perl  
print ">" ;
while (<>) {
     chomp $_; 
     my $result = eval $_;  
     print "$result\n>"; 
}

想想看:当有人在提示符下输入`rm *`时会发生什么?

票数 2
EN

Stack Overflow用户

发布于 2014-05-20 03:52:46

您没有打印eval的结果。计算已经完成,但您只是将其丢弃并打印另一个提示符。

这应该如您所愿。

代码语言:javascript
运行
复制
#!/usr/bin/perl  

print ">" ;

while (<>) {   
  print eval, "\n>";  
}
票数 0
EN

Stack Overflow用户

发布于 2014-05-20 21:13:37

你可以这样写:

代码语言:javascript
运行
复制
#!/usr/bin/perl 
print ">";

while (<>) {   
  print eval("$_");  
  print "\n>"; 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23745977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档