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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access