You are on page 1of 20

6

CGI Perl.
HTML .

CGI.

CGI -.1

hello.htm

2009, E. (iva.e.popova@gmail.com)

hello.cgi

KEE - .

CGI -.2

e-mail

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 - .

You might also like