[英]How to save matched part when use 'eval' in regular expression with Perl?
[英]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.