Chromebook在终端中使用Perl-e输入Perl变量时出现问题



我正在学习如何在chrome上使用Perl。当我试图在终端中输入一个变量时,它会给我这个输出。我知道如何使用文件运行代码,只是想看看我可以使用perl-e直接在终端中做什么,而不去vim。如何在终端中输入然后打印标量变量?

#code starts below
stepdeff@penguin:~$ perl -e $var = 10;
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ perl -e x = 10;
stepdeff@penguin:~$ perl -e 'print "x";'
xstepdeff@penguin:~$ perl -e x = $10;
stepdeff@penguin:~$ perl -e print "x";
stepdeff@penguin:~$ perl -e $x = "time";
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ perl -e $x =10;
stepdeff@penguin:~$ perl -e $name = "friend";
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ perl -E $name = "friend";
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ perl -e $x = 10;
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ perl -E $x = 10;
syntax error at -e line 1, near "="
Execution of -e aborted due to compilation errors.
stepdeff@penguin:~$ 

您必须在代码周围加引号

stepdeff@penguin:~$ perl -e'$var = 10;'

您需要将程序作为单个参数传递。

如果您的程序是

$var = 10;
say $var;

然后你需要把整个事情作为一个论点来传递。

对于有问题的shell,这可以通过将整个字符串封装在单引号中,并将其中的任何单引号替换为'''来实现。这意味着你可以使用

perl -E'$var = 10;
say $var;'

改变程序中的空白意味着我们也可以使用

perl -E'$var = 10; say $var;'

perl -E'
$var = 10;
say $var;
'

最新更新