#!C:/Perl/bin/perl.exe # this uses CGI.pm and :standard to import values for # html2, form, and cgi -- very convenient: don't have to # manually code html script, can use multi widgets without # a lot of coding # it generates the form appearing on the webpage, and # it displays results of user's choices use strict; # enforces variable declartions and quoting use CGI qw(:standard); print < Write Like an Egyptian

University of Pennsylvania Museum of Archaeology and Anthropology
www.penn.museum

Write Like an Egyptian

Your Name in Hieroglyphs
(the way an Egyptian scribe might have written it!)
END_FancyPage if (param()) { # the form has already been filled out my %letters = ( 'a' => '
', 'b' => '
', 'c' => '
', 'd' => '
', 'e' => '
', 'f' => '
', 'g' => '
', 'h' => '
', 'i' => '
', 'j' => '
', 'k' => '
', 'l' => '
', 'm' => '
', 'n' => '
', 'o' => '
', 'p' => '
', 'q' => '
', 'r' => '
', 's' => '
', 't' => '
', 'u' => '
', 'v' => '
', 'w' => '
', 'x' => '
', 'y' => '
', 'z' => '
', ); my $who = param("name"); # returns value of name=? pair my $whom = $who; # saving "whom" for greeting, before name entered gets messed with $who =~ s/\W.*//; # gets rid of everything that's not a letter, digit, or _ $who =~ tr/A-Z/a-z/; # makes everything lowercase my $grab1 = substr($who, 0, 1); # grabs first letter my $grab2 = substr($who, 1, 1); my $grab3 = substr($who, 2, 1); my $grab4 = substr($who, 3, 1); my $grab5 = substr($who, 4, 1); my $grab6 = substr($who, 5, 1); my $grab7 = substr($who, 6, 1); my $grab8 = substr($who, 7, 1); my $grab9 = substr($who, 8, 1); my $grab10 = substr($who, 9, 1); my $grab11 = substr($who, 10, 1); my $grab12 = substr($who, 11, 1); my $grab13 = substr($who, 12, 1); my $grab14 = substr($who, 13, 1); my $grab15 = substr($who, 14, 1); my $grab16 = substr($who, 15, 1); my $glyphname = sprintf( '
' . $letters{$grab1} . $letters{$grab2} . $letters{$grab3} . $letters{$grab4} . $letters{$grab5} . $letters{$grab6} . $letters{$grab7} . $letters{$grab8} . $letters{$grab9} . $letters{$grab10} . $letters{$grab11} . $letters{$grab12} . $letters{$grab13} . $letters{$grab14} . $letters{$grab15} . $letters{$grab16} . '' ); # sprintf produces output line displaying values(from a list of values) in controllable ways. aka "string printf" print hr(); print p("
$whom, your name in hieroglyphs is

$glyphname

"); print hr(); print <Go back to enter another name
$whom, want to know more about your personal hieroglyph? Click here


Museum Homepage
FEEDBACKFORM } else { # to present a blank form if first time thru print <

1:
Type your first name

(maximum 16 letters)


2:
Click inscribe

(or erase to start over)


ENDOFORM } print end_html;