在perl中使用标量值时,我无法实现所需的结果。需要你的帮助来确定我哪里出错了..
说我想要循环9次并打印0.1到0.9
我声明变量$i
并在for循环和循环内使用它。
for($i = 1; $i < 10; $i++)
{
$b = $ie-01; # (This where I go wrong, I am not sure If I am following correct
# syntax here, Because I see -1 getting printed instead of $i value
# which is incremented on each loop)
print "The value now is: $b\n";
}
我知道获得所需结果的不同方法,但我想知道如何使用指数来获得所需的输出。 。 。 。
为什么$i
与0
一起使用时被视为e
?
答案 0 :(得分:12)
我认为你只是忘了包含乘法运算符*
:
$i * 1e-01
字符串$ie-01
将被解释为$ie - 01
,它是一个单元化变量(即零)减去一个会给你-1
的变量。 (您可以使用e
- 表示法仅使用常数而不是变量。)
答案 1 :(得分:6)
你的第一个错误不包括:
use strict;
use warnings;
这会告诉你变量$ie
没有被声明。
没有合理的方法让${i}e-01
工作;你必须eval
它,这是不合理的。编写它的标准方法是:
$b = $i * 0.1;