Workshop
Quiz
Examine the following block of code:
sub bar {
($a,$b)=@_;
$b=100;
$a=$a+1;
}
sub foo {
my($a)=67;
local($b)=@_;
bar($a, $b);
}
foo(5,10)
1:  After you run bar($a, $b), what is the value in $b?
 2:  What is the return value from foo()?
 3:  Inside foo(), how is $b scoped?

AnswersA1:
 b. $b is declared with local in foo() so that every called subroutine shares the same value for $b (unless they later declare $b again with local or my). After calling bar(), where $b is modified, $b is set to 100.  A2:
 b. Surprised? The last statement in foo() is bar($a, $b). bar() returns 68 because the value of $a is passed to bar(), and it's incremented. foo() returns the value of the last expression, which is 68.  A3:
 b. Variables declared with local are called dynamically scoped variables. 
Activities
Use the functions from the statistics exercise in this hour and the wordcounting code from Hour 7, "Hashes," to examine the length of the words in a document. Compute their mean, median, and standard deviation. Write a function to print part of the Fibonacci series. This series begins 0, 1, 1, 2, 3, 5, 8 and continues forever. The Fibonacci series is a recurring pattern in mathematics and nature. Each successive number is the sum of the previous two (except 0 and 1). These numbers can be computed iteratively or recursively.
