in reply to global symbol...explict package name

Another thing which is a little strange is your usage of qw() as in

my @array1 = qw($aOrder->{rx_OD_Prism_Diopters} $aOrder->{rx_OD_Prism} $aOrder->{rx_OD_Prism_Angle_Val} $aOrder->{rx_OD_Prism2_Diopters} $aOrder->{rx_OD_Prism2});

This would set up an array with the literal strings '$aOrder->{rx_OD_Prism_Diopters}' etc., which doesn't seem to be what you want, considering how those values in @array1 are being used subsequently...

Replies are listed 'Best First'.
Re^2: global symbol...explict package name
by rightfield (Sexton) on Mar 13, 2008 at 02:58 UTC
    Hi. You are correct, I want the value of $aOrder->{blah} to go into the array, how would I correct that part? Is it strange how the complaints start with $ODP2Dir and $ODP2Val but not several lines above with $ODP1Dir and $ODP1Val? What's with that? Thank you.
      I want the value of $aOrder->{blah} to go into the array, how would I correct that part?

      Just get rid of the qw, and put commas between the expressions, i.e.

      my @array1 = ( $aOrder->{rx_OD_Prism_Diopters}, $aOrder->{rx_OD_Prism}, $aOrder->{rx_OD_Prism_Angle_Val}, $aOrder->{rx_OD_Prism2_Diopters}, $aOrder->{rx_OD_Prism2} );
        Hi, I have made the change. Thank you. I have also review all code blocks to make sure everything grouped properly and all was fine. I can't understand why Perl starts complaining at $ODP2Dir and $ODP2Val but not several lines above where I have $ODP1Dir and $ODP1Val. Thank you for your thoughts.