从linux中的文件运行Perl脚本

Sco*_*Lew 5 perl file

我在Linux(CentOS)中尝试从文件中运行基本的Perl脚本.我收到了一个错误.我认为这与语法有关,但我无法弄明白.

$ perl -e 'print "Hello World\n";'
Run Code Online (Sandbox Code Playgroud)

运行正常,将在下一行打印Hello World.但是,当我将它放入vi并将其保存为perlOne时,完全相同(perl -e'print"Hello World \n";')并运行命令:

$ perl perlOne
Run Code Online (Sandbox Code Playgroud)

我得到错误:"perlOne第1行的语法错误,附近"perl -e - perlOne的执行因编译错误而中止."

它是同一行,但它在文件中不起作用.

我正在学习Linux Pro Magazine的Perl教程 - 这是我从中获得的.

Pri*_*rix 10

命令行开关-e允许您从命令行运行代码,而不必将程序写入文件然后执行它.

$ perl -e 'print "Hello World\n";'
Run Code Online (Sandbox Code Playgroud)

输出:

Hello World
Run Code Online (Sandbox Code Playgroud)

如果要从文件中运行它,则需要以不同方式编写它:

#!/usr/bin/perl

use strict;
use warnings;

my $message = 'Hello World';
print $message . "\n";

# You can also make it directly
print "Hello World\n";
Run Code Online (Sandbox Code Playgroud)

虽然我不建议它也可以写成:

print "Hello World\n";
Run Code Online (Sandbox Code Playgroud)