I am learning Writing CGI Application with Perl -- Kevin Meltzer . Brent Michalski
Scripts in the book mostly begin with this:
#!\"c:\\strawberry\\perl\\
It does not matter where in your script you put a use statement, because they all get evaluated at compile time.
$| is the built-in variable for autoflush. I agree that in this case, it is ambiguous. However, a lone $ is not a valid statement in perl, so by process of elimination, we can say what it must mean.
use lib qw(.) seems like a silly thing to do, since "." is already in @INC by default. Perhaps it is due to the book being old. This statement tells perl to add "." to the @INC array, which is the "path environment" for perl, i.e. where it looks for modules and such.