Eksempel på bruk av cgi
eksempel_cgi.html
Kode:
<form action="http://www.ia.hiof.no/~elinkaan/cgi-bin/io_eksempel.cgi" method=GET>
<table border=0 cellpadding=5>
<tr>
<td colspan=2>Skriv inn data om deg selv</td>
<tr>
<td>Navn</td>
<td>: <input type="Text" name="in_name"></td>
<tr>
<td>Adresse</td>
<td>: <input type="Text" name="in_adr"></td>
<tr>
<td>Poststed</td>
<td>: <input type="Text" name="in_pst"></td>
<tr>
<td>Fødselsår</td>
<td>: <input type="Text" name="in_born"></td>
<tr>
<td colspan=2><input type=submit value="Ok"></td>
</table>
</form>
io_eksempel.cgi
Kode:
#!/usr/bin/perl
# read input from web using GET
$STR = $ENV{'QUERY_STRING'};
# make variables and un-webify the strings
@par = split(/&/, $STR);
# find values
foreach $par (@par)
{
($navn, $verdi) = split(/=/, $par); #split navn=verdi => navn verdi
$verdi =~ s/\+/ /g;
#konverter spesielle bokstaver/tegn(æøå/ mm)
$verdi =~ s/%([\dA-Fa-f]{2})/pack("C", hex($1))/eg;
#konverter til html-kode
$verdi =~ s/æ/\æ\;/g;
$verdi =~ s/ø/\ø\;/g;
$verdi =~ s/å/\å\;/g;
$verdi =~ s/Æ/\Æ\;/g;
$verdi =~ s/Ø/\Ø\;/g;
$verdi =~ s/Å/\Å\;/g;
$INPUT{$navn} = $verdi; #assosiative array
}
print "Content-type: text/html\n\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print "<html>\n<head>\n";
print "\t<title>io_eksempel.cgi</title>\n";
print "\t<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n";
print "</head>\n<body>\n";
print "Jeg heter $INPUT{'in_name'}, er født i $INPUT{'in_born'} \n";
print "og bor i $INPUT{'in_adr'} i $INPUT{'in_pst'}\n";
print "</body>\n</html>";
Resultat