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.