It's not an error, it's a warning. But yes, it's saying that $line (and thus, $source[2]) is uninitialized. You should probably check to see if there's anything in @source before you use it.
Jeff japhy Pinyan,
P.L., P.M., P.O.D, X.S.:
Perl,
regex,
and perlhacker How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart