2014-05-13 61 views
0

我已經爲Linux寫了一個非常簡單的perl腳本來確定當前登錄的用戶。 試圖運行它時,不過,我不斷收到以下錯誤:Perl的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; 

我試圖谷歌這一點,但我沒有看到我在做什麼毛病我如果陳述?它在Windows上正常工作。

謝謝

+1

看起來你正在運行它的Wi第bash。 嘗試perl test.pl –

+0

向我們展示如何運行腳本。 –

+0

另外,請確保#!/ usr/bin/perl是腳本中的第一行。 –

回答

2

您錯誤地調用腳本:這些錯誤是清楚bash,而perl要運行腳本來代替。

我不知道你是如何運行的,現在的,但(假設它的文件名是mywhoami),你可以隨時調用perl明確:

perl mywhoami 

還應該努力使其可執行

chmod a+x mywhoami 

,然後執行:

./mywhoami 
0

我認爲這是它運行腳本的方式。 請嘗試運行它如下:

$perl <script.pl> 
+1

'py'不是Perl腳本的最佳擴展,是嗎? – choroba

+0

@choroba,你說的對,我用來運行python腳本(它們有相同的行爲),它應該是.pl,thx。 –