Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么可以';我不能从TextMate运行Perl程序吗?_Perl_Textmate - Fatal编程技术网

为什么可以';我不能从TextMate运行Perl程序吗?

为什么可以';我不能从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

下面是一篇生物信息学的文章,这是我的第一个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";

您是否已在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来执行程序