2015-02-10 6 views
0

Я хочу запустить сценарий с моего сайта с помощью CGI.pm - Сценарий, который я запускаю, обычно запускается из командной строки и требует нескольких входов ARGV в командной строке. Как я могу справиться с этим, используя CGI.pm? - Можно ли вставить систему ($ command) в Perl CGI-скрипт? Скрипт можно увидеть здесь - http://www.ncbi.nlm.nih.gov/IEB/ToolBox/C_DOC/lxr/source/doc/blast/web_blast.plКак собрать ARGV с помощью Perl CGI?

ответ

2

как собирать ARGV с помощью Perl CGI?

@ARGV никуда не делся, но CGI не использует аргументы командной строки, так что нет никаких аргументов командной строки для сбора.

Могу ли я вставить system($command) в скрипт CGI Perl?

Да.

1

Вы можете двухцелевой скрипт, проверяя, если вы подключены к терминалу:

if (-t STDOUT) { 
    # Command LIne mode, use @ARGV; 
} 
else { 
    # CGI mode, get ARGV equivalent from CGI->param 
} 

Вы должны настроить выход для работы в режиме CGI, добавляя заголовки содержимого перед вами выводом ничего.

Если вы используете system($foo) на веб-странице, убедитесь, что логика, контролирующая то, что находится в $foo, является безопасной, иначе вы можете ее взломать.

Смежные вопросы