foreach Loops
The
next part of the script introduces one of
those things that seem really obvious to programmers, but can cause
nonprogrammers some confusion until they figure out what’s
going on. I’m talking about loops. In this
case, a loop created with Perl’s foreach
function.
The idea with a loop is to make a block of programming code that performs a specific set of actions, then feed it a series of thingies for processing. It’s somewhat like an assembly line, and like an assembly line it’s really efficient for the programmer because she has to write the code block only once, but can easily make the program run thousands or millions of thingies through it. The illusion of power this produces is part of why people become addicted to programming and stay up all night debugging code.
Anyway, here’s the next chunk of code from the script, showing
the foreach loop in action:
# bundle up form submissions into a mail_body
$mail_body = '';
foreach $field (param) {
foreach $value (param($field)) {
$mail_body .= "$field: $value\n";
}
}First off, we assign the empty string (that is, nothing) to a scalar
variable called $mail_body. You’re probably
thinking that’s a somewhat silly thing to do, and you’re
right, it is rather silly, at least from the perspective of the
behavior of the script. If the $mail_body variable had previously existed in the script and had contained something already, this line would actually do something because it would empty out the contents of the variable. But ...
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