2010-03-09 46 views
2

我正在關注生物信息學文本,這代表了我的第一個Perl腳本之一。在TextMate中,這不會產生任何結果。它是否正常運作?我在底部添加了「hello world」,並且在TextMate中運行腳本時沒有看到。我做錯了什麼?爲什麼我無法從TextMate運行Perl程序?

#!/usr/local/bin/perl -w 
use lib "/Users/fogonthedowns/myperllib"; 
use LWP::Simple; 
use strict; 

#Set base URL for all eutils 
my $utils = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils"; 
my $db = "Pubmed"; 
my $query ="Cancer+Prostate"; 
my $retmax = 10; 
my $esearch = "$utils/esearch.fcgi?" . 
       "db=$db&retmax=$retmax&term="; 

my $esearch_result = get($esearch.$query); 
print "ESEARCH RESULT: $esearch_result\n"; 
print "Using Query: \n$esearch$query\n"; 
print "hello world\n"; 

回答

3

您是否已在TextMate中成功運行其他腳本?我懷疑你有一個編輯器配置問題(或者這個URL不可用,並且腳本產生錯誤)。

嘗試運行更簡單的腳本並查看會發生什麼,例如是這樣的:

#!/usr/local/bin/perl -w 
print "hello world\n"; 

接下來,看看你能不能看到錯誤輸出:

#!/usr/local/bin/perl -w 
warn "oh noes"; 
+0

哦,簡單的測試失敗。我運行Ruby腳本關於這個東西的所有時間,這是我第一次嘗試在這個程序中使用perl – 2010-03-09 21:06:39

+0

在Textmate編輯器配置方面你會有什麼建議嗎? – 2010-03-09 21:07:05

+0

接下來我會建議將'use lib「/ Users/fogonthedowns/myperllib「;'在'print'或'warn'之前的行,我不知道那個地方是什麼東西,或者這個庫的寫入情況如何 – 2010-03-09 21:07:47

2

最有可能的,你的執行環境中不正確的方式,即成立,TextMate的不知道該怎麼執行一個Perl腳本並向你顯示結果。你有沒有試過從shell中運行它?

+0

在終端我用perl ncbi.pl執行程序 – 2010-03-09 21:22:29

+0

有什麼結果? – Svante 2010-03-09 23:15:20

2

您是否已安裝/usr/local/bin/perlwhich perl在終端處返回什麼?

如果您的hashbang行不正確,那麼當您在TextMate中運行腳本時,您只會得到一個空的輸出窗口。 Textmate不會給出任何錯誤,它無法找到您在#之後開處方的可執行解釋器! :(

#!/usr/bin/env perl替換第一線,它會運行你登錄的默認的Perl(在$ PATH環境變量中找到)。

/I3az/

相關問題