Didn't figure most folks want to wade through the full program. :)  Yes, I
am using "use strict;"

I made an email typo, (however my $HeadOpen = 1; is towards the top, so
that is global scope and would have parsed fine, even assuming I hadn't
made a typo in the email).

In setting $ErrorString2, ref $HeadOpenRef . '.'
ref was evaluating ($HeadOpenRef . '.') which is always a string.

It is now
$ErrorString2 = 'Got HeadOpen not scalar reference type: ' . (ref
$HeadOpenRef) . '. ' . $HeadOpenRef;

I don't see these errors on our test machine, even though it is going
through the same code, only from the production environment.  I'll see if I
get any more errors reported.

Paul

On Tue, Mar 15, 2016 at 3:20 PM, Tilghman Lesher <[email protected]>
wrote:

> Specifically, if you call ref on a variable which is not a reference,
> it returns blank, which is what you're seeing.
>
> On Tue, Mar 15, 2016 at 3:19 PM, Tilghman Lesher <[email protected]>
> wrote:
> > Is it an email typo or a script typo that you're identifying the
> > variable internally as $HeadOpen, but the passed variable is
> > $HeadOpenRef ?
> >
> > Using 'use strict;' would identify such a problem very quickly.
> >
> > On Tue, Mar 15, 2016 at 3:05 PM, Paul Boniol <[email protected]>
> wrote:
> >> Minor correction, I was typing between windows.
> >>
> >> On Tue, Mar 15, 2016 at 2:57 PM, Paul Boniol <[email protected]>
> wrote:
> >>>
> >>> It appears to me that the 4th parameter of both calls is \$HeadOpen,
> yes?
> >>>
> >>>
> >>> my ($Message, $Message2, $Die, $HeadOpenRef, $MySendEmail) = @_;
> >>>
> >>> if (ref $HeadOpenRef eq 'SCALAR') {
> >>>      $ErrorString2 = '';
> >>> } else {
> >>>     $ErrorString2 = 'Got HeadOpen not scalar reference type: ' . ref
> >>> $HeadOpen . '.';
> >>> }
> >>>
> >>> For the first call ref returns SCALAR, so it is a reference to a
> scalar,
> >>> as expected $ErrorString2 is empty.
> >>>
> >>> In the 2nd call, I get $ErrorString2 = Got HeadOpen not scalar
> reference
> >>> type:
> >>> (Noticed I didn't get the period at the end... Do I need to put parens
> >>> around the ref call?  In any case $HeadOpen should only ever be set to
> 0 or
> >>> 1.)
> >>>
> >>>
> >>> On Tue, Mar 15, 2016 at 2:34 PM, Tilghman Lesher <[email protected]
> >
> >>> wrote:
> >>>>
> >>>> The 4th parameter is \$HeadOpen, not $sth->errstr.
> >>>>
> >>>> However, the code that is causing the error is not present, so it's
> >>>> not clear where the problem lies.
> >>>>
> >>>> On Tue, Mar 15, 2016 at 2:25 PM, Paul Boniol <[email protected]>
> >>>> wrote:
> >>>> > I'm having a weird Perl problem.  Maybe someone can see something I
> >>>> > don't.
> >>>> >
> >>>> > I had to put diagnostic code in.  In the problematic call, it says
> the
> >>>> > 4th
> >>>> > parameter is a scalar, not a reference to a scalar...?
> >>>> >
> >>>> > Call works fine
> >>>> >
> >>>> > PrintError ('ID not found.  Please check the ID and try again.',
> >>>> > $sth->errstr, 1, \$HeadOpen, 0);
> >>>> >
> >>>> >
> >>>> >
> >>>> > Calls throwing an error
> >>>> >
> >>>> > PrintError ('Database error executing statement 1.', $sth->errstr,
> 1,
> >>>> > \$HeadOpen, 1);
> >>>> >
> >>>> >
> >>>> > The only difference I can see is the working call $sth->errstr is
> >>>> > normally
> >>>> > UNDEF.  In the one that throws an error, it normally has a value.
> That
> >>>> > shouldn't make a difference though, should it?
> >>>> >
> >>>> >
> >>>> > What am I missing?
> >>>> >
> >>>> >
> >>>> > Paul Boniol
> >>>> >
> >>>> > --
> >>>> > --
> >>>> > You received this message because you are subscribed to the Google
> >>>> > Groups
> >>>> > "NLUG" group.
> >>>> > To post to this group, send email to [email protected]
> >>>> > To unsubscribe from this group, send email to
> >>>> > [email protected]
> >>>> > For more options, visit this group at
> >>>> > http://groups.google.com/group/nlug-talk?hl=en
> >>>> >
> >>>> > ---
> >>>> > You received this message because you are subscribed to the Google
> >>>> > Groups
> >>>> > "NLUG" group.
> >>>> > To unsubscribe from this group and stop receiving emails from it,
> send
> >>>> > an
> >>>> > email to [email protected].
> >>>> > For more options, visit https://groups.google.com/d/optout.
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Tilghman
> >>>>
> >>>> --
> >>>> --
> >>>> You received this message because you are subscribed to the Google
> Groups
> >>>> "NLUG" group.
> >>>> To post to this group, send email to [email protected]
> >>>> To unsubscribe from this group, send email to
> >>>> [email protected]
> >>>> For more options, visit this group at
> >>>> http://groups.google.com/group/nlug-talk?hl=en
> >>>>
> >>>> ---
> >>>> You received this message because you are subscribed to the Google
> Groups
> >>>> "NLUG" group.
> >>>> To unsubscribe from this group and stop receiving emails from it,
> send an
> >>>> email to [email protected].
> >>>> For more options, visit https://groups.google.com/d/optout.
> >>>
> >>>
> >>
> >> --
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "NLUG" group.
> >> To post to this group, send email to [email protected]
> >> To unsubscribe from this group, send email to
> >> [email protected]
> >> For more options, visit this group at
> >> http://groups.google.com/group/nlug-talk?hl=en
> >>
> >> ---
> >> You received this message because you are subscribed to the Google
> Groups
> >> "NLUG" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an
> >> email to [email protected].
> >> For more options, visit https://groups.google.com/d/optout.
> >
> >
> >
> > --
> > Tilghman
>
>
>
> --
> Tilghman
>
> --
> --
> You received this message because you are subscribed to the Google Groups
> "NLUG" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nlug-talk?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "NLUG" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
You received this message because you are subscribed to the Google Groups 
"NLUG" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nlug-talk?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"NLUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to