Почему я не могу запустить Perl-программу из TextMate?

Я читаю текст по биоинформатике, и это один из моих первых Perl-скриптов. В TextMate это не дает никакого результата. Он функционирует? Я добавил «привет, мир» внизу, и я не вижу этого, когда запускаю скрипт в 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";

person JZ.    schedule 09.03.2010    source источник


Ответы (3)


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

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

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

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

#!/usr/local/bin/perl -w
warn "oh noes";
person Ether    schedule 09.03.2010
comment
О, простой тест провалился. Я все время запускаю скрипты ruby ​​на этой штуке, это моя первая попытка с perl в этой программе. - person JZ.; 10.03.2010
comment
Что бы вы предложили с точки зрения конфигурации редактора Textmate? - person JZ.; 10.03.2010
comment
Следующее, что я бы предложил после этого, это поместить строку use lib "/Users/fogonthedowns/myperllib"; перед строкой print или warn. Я не знаю, что находится в этом месте или насколько хорошо написана библиотека. - person David Thornley; 10.03.2010
comment
@JZ: понятия не имею; моя домашняя машина — это ноутбук Mac, но я использую vim и командную строку для всего. Возможно, вы найдете некоторую информацию о конфигурации TextMate на сайте superuser.com. - person Ether; 10.03.2010
comment
use lib просто включает эту папку в путь поиска. Тот, который предоставил @DavidThornley, находится в домашней папке пользователей, подпапке с именем myperllib. Это может быть пусто, но вы можете поместить дополнительные библиотеки Perl (предварительно написанный код для включения в вашу программу). Они будут в дополнение к библиотекам в расположениях perl по умолчанию (местоположения различаются в зависимости от платформы). - person Able Mac; 10.03.2021

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

person Svante    schedule 09.03.2010
comment
в терминале я использовал perl ncbi.pl для выполнения программы - person JZ.; 10.03.2010

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

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

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

/I3az/

person draegtun    schedule 09.03.2010