簡體   English   中英

在Perl中使用eval的算術表達式

[英]Arithmetic expression with eval in Perl

我在Perl中有關於算術表達式的問題。

我已經編寫了代碼,但我無法填充eval函數。

例:

>2+4

6

另一個例子:

>8-2*2

4

這是我的計划

#!/usr/bin/perl  

print ">";

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

您可以選擇輸入以刪除換行符並使用字符串eval。

#!/usr/bin/perl  
print ">" ;
while (<>) {
     chomp $_; 
     my $result = eval $_;  
     print "$result\n>"; 
}

想一想:當有人在提示符輸入`rm *`時會發生什么?

您沒有打印eval的結果。 計算正在進行中,但您只是將其丟棄並打印另一個提示。

這應該按你的意願做。

#!/usr/bin/perl  

print ">" ;

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

你可以這樣寫:

#!/usr/bin/perl 
print ">";

while (<>) {   
  print eval("$_");  
  print "\n>"; 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM