为什么我不能从TextMate运行Perl程序?

时间:2010-03-09 21:00:02

标签: perl textmate

我正在关注生物信息学文本,这代表了我的第一个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";

3 个答案:

答案 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/perlwhich perl在终端返回什么?

如果您的hashbang行不正确,那么当您在TextMate中运行脚本时,您将获得一个空的输出窗口。 Textmate没有给出任何错误,因为它找不到你在#之后规定的可执行解释器! :(

将第一行替换为#!/usr/bin/env perl,它将运行login的默认Perl(在$ PATH环境变量中找到)。

/ I3az /