Почему я не могу запустить Perl-программу из TextMate? - PullRequest
2 голосов
/ 10 марта 2010

Я слежу за текстом биоинформатики, и это один из моих первых скриптов на 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 ]

3 голосов
/ 10 марта 2010

Вы успешно запускали другие скрипты в TextMate? Я подозреваю, что у вас есть проблема с настройкой редактора (или что URL не может быть хитовым, а скрипт генерирует ошибку).

Попробуйте запустить еще более простой скрипт и посмотрите, что произойдет, например, что-то вроде:

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

Далее, посмотрите, видите ли вы вывод ошибок:

#!/usr/local/bin/perl -w
warn "oh noes";
2 голосов
/ 10 марта 2010

У вас установлен /usr/local/bin/perl? Что which perl возвращает на терминале?

Если ваша строка hashbang неверна, то когда вы запустите скрипт в TextMate, вы просто получите пустое окно вывода. TextMate не дает никакой ошибки, что он не может найти исполняемый интерпретатор, который вы прописали после #! (

Замените первую строку на #!/usr/bin/env perl, и он запустит Perl по умолчанию для входа в систему (находится в переменной среды $ PATH).

/ I3az /

2 голосов
/ 10 марта 2010

Скорее всего, ваша исполняющая среда не настроена правильно, т. Е. TextMate не знает, как выполнить скрипт Perl и показать вам результаты. Вы пробовали запустить его из оболочки?

...