我们可以在这里使用bash文件来运行perl脚本吗?

时间:2016-01-02 02:58:04

标签: bash perl shell

我将以下perl脚本作为bash here文件运行。我的意图是从STDIN读取一个变量,然后进行算术计算然后打印。

但是,程序立即完成,无需等待STDIN的输入。

警告“在第6行的乘法(*)中使用未初始化的值$ input”在打印第4行和第6行中的2个字符串之前打印出来。请注意,没有提示读取STDIN。

为什么会这样? 我想在bash和perl脚本中组合here文档,因此可以在shell中运行包含很少行的perl脚本,而无需编写脚本文件。 (我知道perl -e选项是另一种选择,但我只是想知道为什么我的方法不起作用。)

bash-4.1$ bash
bash-4.1$ perl <<'EOF'
> use strict;
> use warnings;
> my $input;
> print "Please enter a number:";
> $input=<STDIN>;
> print 2+2*3.141592654*$input."\n";
> EOF
Use of uninitialized value $input in multiplication (*) at - line 6.
Please enter a number:2
bash-4.1$ 

0 个答案:

没有答案