Professional Documents
Culture Documents
6 CGI Perl Intro
6 CGI Perl Intro
CGI Perl.
HTML .
CGI.
CGI -.1
hello.htm
2009, E. (iva.e.popova@gmail.com)
hello.cgi
KEE - .
CGI -.2
CGI
( httpd )
2009, E. (iva.e.popova@gmail.com)
KEE - .
CGI -
n
n
n
, , , ...
,
, (
.) .
CGI (PERL, C/C++, Python, Apple
Script, Visual Basic )
,
/ .
2009, E. (iva.e.popova@gmail.com)
KEE - .
(Perl)
1.
2.
3.
4.
#!C:/perl/bin/perl.exe
print "Content-type: text/html\n
charset:
windows-1251\n\n";
my $time = localtime();
print
"<p>
:
<b>$time</b></p>";
2009, E. (iva.e.popova@gmail.com)
KEE - .
n
n
n
(
- GET/POST ) .
Unix , Perl .
.
Perl,
: %ENV, (keys) -
, -
. ..:
$value= $key{$ENV}
2009, E. (iva.e.popova@gmail.com)
KEE - .
$remote_host
$ENV{REMOTE_HOST} ;
$user_id
$ENV{REMOTE_ADDR};
$accept
$ENV{HTTP_ACCEPT};
$user_agent
= $ENV{HTTP_USER_AGENT};
$ref_url
= $ENV{HTTP_REFERER};
$admin_email =
$ENV{SERVER_ADMIN};
$remote_ip
$ENV{REMOTE_ADDR};
$server_soft
= $ENV{SERVER_SOFTWARE};
2009, E. (iva.e.popova@gmail.com)
KEE - .
HTML
<form> - ,
()
.
(),
action .
method.
<form action="/cgi/test_enc.cgi"
<input />
</form>
2009, E. (iva.e.popova@gmail.com)
10
method="post" >
KEE - .
. .
n
:
<input type="submit" value="Submit" />
:
<input type="text" name="ime" />
:
<input type="password" name="pass" />
:
<textarea
name="comment">
...</textarea>
2009, E. (iva.e.popova@gmail.com)
11
KEE - .
-
n
-:
<input type="radio" name="status" value="pupil" />
<label for="pupil"></label>
(checkboxes):
<input type="checkbox" name="interests" value="hardware" />
<label for="hardware"></label>
! checked=checked
/.
2009, E. (iva.e.popova@gmail.com)
12
KEE - .
(drop-down box):
<select name="course" >
<option value="math"></option>
</select>
2009, E. (iva.e.popova@gmail.com)
13
KEE - .
Perl
n
n
( )
Perl e (Larry Wall) - ,
, , .
1987 - Perl 1.000;
1994 - Perl 5.000 :
, ,
- e .
2009, E. (iva.e.popova@gmail.com)
15
KEE - .
, Perl
(Perl Mottos)
n
n
n
n
n
, .
(TMTOWTDI - '')
Perl , ( )
,
.
:
, ,
2009, E. (iva.e.popova@gmail.com)
16
KEE - .
Perl
n
n
n
Perl - ,
,
(Practical
Extraction
and
Report
Language;
Pathologically Eclectic Rubbish Lister)
, Unix OpenSource
. .
- (awk, sed,
.)
- Perl
Perl - perl (
- Perl - , perl - ).
2009, E. (iva.e.popova@gmail.com)
17
KEE - .
Perl
n
n
n
n
, .
-
.
- (CPAN, PPM)
,
- .
, (
, )
2009, E. (iva.e.popova@gmail.com)
18
KEE - .
Perl
#!/usr/bin/perl
$name = "Iva Popova";
print "Howdy $name!";
# :
# Howdy Iva Popova!
#!
#
$name
print
(shebang)
, 'Iva'
,
! ,
( : /usr/bin/perl -
perl Unix).
! Windows,
.
2009, E. (iva.e.popova@gmail.com)
19
KEE - .
Perl Win32
Perl Win32
http://www.activestate.com/products/activeperl
Perl Win32:
http://win32.perl.org/wiki
2009, E. (iva.e.popova@gmail.com)
20
KEE - .