A few comments on your curriculum in general. It looks like you may come from a C/C++ back ground or that perhaps you are using perl as a C primer.
One thing that's a pet peeve of mine is the C-style for loop, when it is not necessary.
for($a=0;$a<10;$a++){...}
is more idomatically written as
for(1..10){...}
But that's just nitpicking, one thing i saw that I would definately recommend against is assigning file contents to arrays. It's better to process files in real time line by line especially for large files. That way perl doesn't have to keep track of (dozens||hundreds||thousands) of array elements.
@lines = <FILE>#potentially expensive
#a bit better
while(my $line = <FILE>){
chomp $line;
...do something with $line
}
Hope you find some of these comments useful, overall I would say that your course looks great, and that you seem to be commited to teaching Perl over PERL. And that's always good to see. Perl's object oriented features are best introduced through modules. I would focus on using CGI, DBI, LWP, Tk, the HTML::Parser series. For beginner and even advanced Perl Programmers being able to effectively use existing modules is a necessity.
Show how modules are useful first, and make sure the students understand subroutines, references and hashes inside out. You may want to leave the details of OOP for an advanced class. An excellent, but challenging textbook for this is Damian Conway's Object Oriented Perl.