in reply to Newbie programming questions
A lot of what you're referencing here is more specific to compiled languages. Perl is not a compiled language, but rather an interpreted one (although I believe there are some programs to compile perl code).
Compiled: The file is not human-readable (binary). It is executable in its own right as an EXE without needing other programs, or may be included in other programs as a library/DLL/etc
Interpreted: The language is generally human-readable (in the sense that it's not binary). When run, the interpreter (say perl.exe) reads the code through processes it. The code cannot run without the interpreter program.
Libs: In perl I suppose these would be the perlmodules. They're really quite similar to plain 'ol Perl code but with a little extra (and are still human-readable).
Functions/Subroutines: Functions in perl work similarly to other languages. They can be called with variables to do some work and/or return a result. It saves you from replicating the same code constantly or using nasty loop statements.
You're talking a lot about C here, but Perl is not C - though at times the syntax is similar. Perhaps this answers some of your questions though.