Posting Pages from the CGI Script
The next interesting part of
the make_page.cgi
script is the part where the script
processes the submission of one of these forms. This is where the
actual work occurs, that of taking the submitted form information,
turning it into a finished HTML page, and writing that page out to
the appropriate location on the site. This happens in the
&post_student_page
and
&post_leader_page
routines. In looking at the
&post_student_page
routine, the first new Perl
trick we see is this:
my $student_long = "\u\L$student_first"; $student_long .= " \u$student_last.";
That takes the student’s first name (as submitted in the form
and stored in $student_first
earlier in the
routine) and uses the special string-escape sequences
\u
and
\L
to
manipulate the case of the letters in the string.
\u
inside a double-quoted string makes the next
character in the string uppercase, whether or not it started out that
way. \L
makes all subsequent letters in the string
lowercase (up to the \E
string escape if
it’s there, or to the end of the string if it’s not). So,
for example, if $student_first
held the string
'john
' or 'JOHN
' or
'jOhN
', interpolating inside double quotes with a
leading \u\L
would always return the string
'John
‘. I did this because I had noticed that the
children using this tool tended to use many creative approaches to
capitalization when typing their names into the form.
The downside to this approach was that if the student actually needed an internal uppercase ...
Get Perl for Web Site Management now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.