http://www.perlmonks.org?node_id=132668

alienhuman has asked for the wisdom of the Perl Monks concerning the following question:

Yo Monks!

I've got a bit of code that I have to move to a new machine. On the new machine, when it runs, it gives the following error message:

Can't call method "our" on an undefined value at tpl.pl line 61.

line 58-63:

## fills in the template - in this case it will likely be a form sub assigntags { my @tags = @_; our $show_fields; my %tagvals = (); foreach $tag (@tags) { ...

The "our $show_fields;" is the problem.

The version of perl that the code was developed with and runs on is 5.6.1 for sun4-solaris. The destination machine has perl version 5.005_03 for sun4-solaris.

My question is this: I have very little understanding of scoping and the (deprecated) use of the our keyword, but I need to get this code runnin on 5.005_03. Can anyone offer some explanation and advice?

Thanks,

Chris