linux的perl脚本中的语法错误

时间:2014-05-13 14:00:39

标签: perl

我为Linux编写了一个非常简单的perl脚本,以确定当前登录的用户。 但是,在尝试运行它时,我不断收到以下错误:

bash: use: command not found
bash: my: command not found
bash: ./test.pl: line 9: syntax error near unexpected token `else'
bash: ./test.pl: line 9: `} else {'

这是我的代码:

#!/usr/bin/perl
use strict;

my $loginName = '';

if ($^O =~ /MSWin/i)
{
$loginName = getlogin;
} else {
#else it is unix
$loginName = getpwuid($<);
}

print $loginName;

我试图谷歌这个但我不知道我的if语句出错了什么?它在Windows上运行良好。

谢谢

2 个答案:

答案 0 :(得分:2)

您正在错误地调用脚本:这些错误显然来自bash,而perl应该正在运行脚本。

我不知道你现在是怎么运行的,但是(假设它的文件名是mywhoami)你可以随时明确地调用perl

perl mywhoami

它也可以使其可执行

chmod a+x mywhoami

然后执行它:

./mywhoami

答案 1 :(得分:0)

我认为这是你运行脚本的方式。 请尝试按以下方式运行:

$perl <script.pl>