我正在关注生物信息学文本,这代表了我的第一个Perl脚本之一。在TextMate中,这不会产生任何结果。它运作吗?我在底部添加了“hello world”,当我在TextMate中运行脚本时,我没有看到它。我做错了什么?
#!/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";
答案 0 :(得分:3)
您是否已在TextMate中成功运行其他脚本?我怀疑你有一个编辑器配置问题(或者该URL不可命中并且脚本生成错误)。
尝试运行一个更简单的脚本,看看会发生什么,例如类似的东西:
#!/usr/local/bin/perl -w
print "hello world\n";
接下来,看看你是否能看到错误输出:
#!/usr/local/bin/perl -w
warn "oh noes";
答案 1 :(得分:2)
最有可能的是,您的执行环境没有以正确的方式设置,即TextMate不知道如何执行Perl脚本并向您显示结果。你试过从shell运行它吗?
答案 2 :(得分:2)
您是否安装了/usr/local/bin/perl
? which perl
在终端返回什么?
如果您的hashbang行不正确,那么当您在TextMate中运行脚本时,您将获得一个空的输出窗口。 Textmate没有给出任何错误,因为它找不到你在#之后规定的可执行解释器! :(
将第一行替换为#!/usr/bin/env perl
,它将运行login的默认Perl(在$ PATH环境变量中找到)。
/ I3az /