Hmm. I would say that there are much better defensive programming moves that you can make with your snippet.
You posted
for (@$Courses) {
if ($Course = CheckCourse($_)) {
print PageCourseInfo($Course);
$count ++;
}
else {
last;
}
last if $count >= 10;
}
Which I would probably not write in the same way at all.
First you are using an assignment in a conditional. While this is not wrong personally I think its a bad call most times. Reason being that its easy to think that youve made the "=" instead of "==" typo. Second point would be that when writing an if/else block its usually a good idea to put the smaller block first, changing the condition as is necessary. Third instead of doing your >= you could have been even simpler and used <. Anyway, heres how I would have written the same thing
for (@$Courses) {
my $Course = CheckCourse($_);
last unless $Course;
print PageCourseInfo($Course);
last unless ++$count < 10;
}
Yves / DeMerphq
--
When to use Prototypes?