in reply to Use of local :causes use of uninitialized variable warning/error

Well, you ought to get a warning for line 988 as well. Each time, you localize %opts, then put $opts{output} into $output. However, if you localize %opts, you get a new (local) %opts. It's empty. Doesn't contain a single thing. So, it certainly won't contain a value of the key 'output'. Hence, $output will be undefined. Hence the warning.

Why you don't get a warning for line 988 is a mystery to me. But it might be because you don't call the sub output_print_h.

  • Comment on Re: Use of local :causes use of uninitialized variable warning/error