Не думаю, что вы понимаете, что такое CGI.CGI - это просто набор переменных среды, которые устанавливаются веб-сервером, и ваша программа выполняется с ними.Вывод программы становится веб-страницей.
Так что, если вы хотите написать CGI-скрипт на Python, PHP, C, Assembly, Whitespace ... до тех пор, пока он может быть вызван и использовать переменные среды, этохорошо.
Так что это действительно языковой вопрос.Какой язык вы используете?
РЕДАКТИРОВАТЬ Вы указали Perl в комментарии к этому ответу.Я предлагаю вам отредактировать вопрос.
Какой у вас номер ввода?Скрипт Perl будет запускаться с полной загрузкой дополнительных переменных среды.Двумя наиболее важными являются QUERY_STRING
и REQUEST_METHOD
.CGI состоит из спецификации этих переменных среды, поэтому для написания CGI можно использовать любой язык.
Рассмотрим perl_cgi.cgi?something=else
.Бит, следующий за ?
, равен QUERY_STRING.Вы можете указать это непосредственно как часть привязки:
<a href="perl_cgi.cgi?something=else">Run with something equals else</a>
или как часть формы (одна из GET или POST, по умолчанию GET):
<form action="perl_cgi.cgi" method="[GET or POST]">
<input type="text" name="something" value="else"/>
<input type="submit" value="Submit!"/>
</form>
Это будет выполненоваша программа с той же строкой запроса, что и выше (или другим параметром, если текстовое поле изменено), но REQUEST_METHOD
будет GET
или POST
в зависимости.
Итак, давайте напишем CGI-скрипт Perl для печати первого числа строки, которую мы получаем (мы только передали строки):
use CGI;
$cgi=new CGI;
$x=$cgi->param('x');
$firstnum=substr($x, 0, 1);
print "Content-type: text/html\n\n";
print <<"EOF";
<html>
<head>
<title>My sample HTML page</title>
</head>
<body>
<p>The first number of $x is $firstnum</p>
</body>
</html>
EOF
Это предполагает, что эта программа запускается как [имя_программы]? x = [некоторая строка].Это зависит от вас, чтобы убедиться, что это так.
Это должно дать вам достаточно.Вы можете проверить firstnum
, чтобы увидеть, 5 или 6, а затем делать разные вещи в зависимости.