作者sixth (12345(6))
看板Perl
标题Re: [问题] eval for string
时间Fri Jul 19 10:44:32 2019
※ 引述《sixth (12345(6))》之铭言:
: 请问如何让范例2 像 范例1 一样,印出计算结果?
: 范例1:
: eval '$sum = ((0x1 << 8) -1)';
: print "The sum is $sum\n";
: ==> 会印出 255
: 范例2:
: $str_test = "((0x1 << 8) -1)";
: eval '$sum = $str_test';
: print "The sum is $sum\n";
: ==> 会印出 (0x1 << 8) -1)
自问自答,改成这样就可以了
$str_test = "((0x1 << 8) -1)";
$do_eval = "\$sum = $str_test";
eval $do_eval;
print "The sum is $sum\n";
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.124.166.19 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1563504275.A.E53.html