#!/usr/bin/perl read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/~!/ ~!/g; $FORM{$name} = $value; } if ($FORM{button} eq "Display the Code") { if ($FORM{password} eq "password") { print "Content-type: text/plain\n\n"; if ($FORM{exercise} == 1) { system ("cat Exercise1.txt"); } elsif ($FORM{exercise} == 21) { system ("cat Memento.h"); } elsif ($FORM{exercise} == 22) { system ("cat Memento.c"); } elsif ($FORM{exercise} == 23) { system ("cat ResourceDescription1.xrd"); } elsif ($FORM{exercise} == 3) { system ("cat Exercise3.txt"); } else { print "\n\n\n No such exercise: $FORM{exercise}"; } } else { print "Content-type: text/html\n\n"; print "

Wrong password: "; print "$FORM{password}<"; } } elsif ($FORM{button} eq "Help") { print "Content-type: text/html\n\n"; system ("cat help.html"); } else { print "Content-type: text/html\n\n"; print "

No such option: "; print "$FORM{button}

"; }