为什么可以';我不能从TextMate运行Perl程序吗?
下面是一篇生物信息学的文章,这是我的第一个Perl脚本。在TextMate中,这不会产生任何结果。它起作用了吗?我在底部添加了“hello world”,在TextMate中运行脚本时,我看不到这一点。我做错了什么为什么可以';我不能从TextMate运行Perl程序吗?,perl,textmate,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 = "htt
#!/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";
您是否已在TextMate中成功运行其他脚本?我怀疑您有编辑器配置问题(或者URL不可命中,脚本正在生成错误) 尝试运行更简单的脚本,看看会发生什么,例如:
#!/usr/local/bin/perl -w
print "hello world\n";
接下来,查看是否可以看到错误输出:
#!/usr/local/bin/perl -w
warn "oh noes";
最可能的情况是,您的执行环境设置不正确,即TextMate不知道如何执行Perl脚本并向您显示结果。您试过从shell运行它吗?您是否安装了
/usr/local/bin/perl
?哪个perl
在终端返回什么
如果hashbang行不正确,那么当您在TextMate中运行脚本时,只会得到一个空的输出窗口。Textmate不会给出任何错误,即在#!:之后找不到您指定的可执行解释器:(
将第一行替换为#!/usr/bin/env perl
,它将运行登录名的默认perl(在$PATH环境变量中找到)
/I3az/噢,简单的测试失败了。我一直都在运行ruby脚本,这是我第一次尝试在这个程序上使用perl,您对Textmate编辑器配置有什么建议?接下来我建议将
use lib”/Users/fogonthedowns/myperllib
打印或警告
前的一行。我不知道该位置有什么,也不知道库写得有多好。@JZ:我不知道;我的家用电脑是mac笔记本电脑,但我使用vim和命令行进行所有操作。你可能会在superuser.com上找到一些关于TextMate配置的信息。使用lib
simply在搜索路径中包括该文件夹。提供的@DavidThornley文件夹位于用户的主文件夹中,即名为myperllib的子文件夹中。该文件夹可能为空,但您可以放置其他perl库(预写代码以包含在程序中)。这些库将添加到默认perl位置的库中(位置因平台而异).在终端中,我使用perl ncbi.pl来执行程序