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/æ/\&aelig\;/g;
  $verdi =~ s/ø/\&oslash\;/g;
  $verdi =~ s/å/\&aring\;/g;
  $verdi =~ s/Æ/\&AElig\;/g;
  $verdi =~ s/Ø/\&Oslash\;/g;
  $verdi =~ s/Å/\&Aring\;/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