Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

Use of uninitialized value in defined operator

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


demerphq at gmail

Apr 24, 2012, 8:20 AM

Post #1 of 5 (74 views)
Permalink
Use of uninitialized value in defined operator

I am debugging the warning noted in the subject line.

The actual warning is:

Use of uninitialized value in defined operator at
/usr/local/booking-perl/5.8.5/site/lib/HTML/Mason/Request.pm line
1209.

Which is the "if defined" part of the below code.

sub print
{
my $self = shift;

# $self->{top_stack} is always defined _except_ in the case of a
# call to print inside a start-/end-request plugin.
my $bufref =
( defined $self->{top_stack}
? $self->{top_stack}->[STACK_BUFFER]
: \$self->{request_buffer}
);

# use 'if defined' for maximum efficiency; grep creates a list.
for ( @_ ) {
$$bufref .= $_ if defined;
}

$self->flush_buffer if $self->{autoflush};
}


--
perl -Mre=debug -e "/just|another|perl|hacker/"


demerphq at gmail

Apr 24, 2012, 8:22 AM

Post #2 of 5 (73 views)
Permalink
Re: Use of uninitialized value in defined operator [In reply to]

On 24 April 2012 17:20, demerphq <demerphq [at] gmail> wrote:
> I am debugging the warning noted in the subject line.
>
> The actual warning is:
>
> Use of uninitialized value in defined operator at
> /usr/local/booking-perl/5.8.5/site/lib/HTML/Mason/Request.pm line
> 1209.
>
> Which is the "if defined" part of the below code.
>
> sub print
> {
>    my $self = shift;
>
>    # $self->{top_stack} is always defined _except_ in the case of a
>    # call to print inside a start-/end-request plugin.
>    my $bufref =
>        ( defined $self->{top_stack}
>          ? $self->{top_stack}->[STACK_BUFFER]
>          : \$self->{request_buffer}
>        );
>
>    # use 'if defined' for maximum efficiency; grep creates a list.
>    for ( @_ ) {
>        $$bufref .= $_ if defined;
>    }
>
>    $self->flush_buffer if $self->{autoflush};
> }

Sorry. Hit send too soon. How could defined complain about an
uninitialized value!?

Yves


--
perl -Mre=debug -e "/just|another|perl|hacker/"


sprout at cpan

Apr 24, 2012, 8:45 AM

Post #3 of 5 (73 views)
Permalink
Re: Use of uninitialized value in defined operator [In reply to]

Yves Orton asked:
> Sorry. Hit send too soon. How could defined complain about an
> uninitialized value!?

Well, at least it is consistent with other operators.


ikegami at adaelis

Apr 24, 2012, 9:10 AM

Post #4 of 5 (74 views)
Permalink
Re: Use of uninitialized value in defined operator [In reply to]

On Tue, Apr 24, 2012 at 11:22 AM, demerphq <demerphq [at] gmail> wrote:

> How could defined complain about an uninitialized value!?
>

I suspect magic is involved. Have you tried Devel::Peek::Dump($_)?


demerphq at gmail

Apr 24, 2012, 10:38 AM

Post #5 of 5 (73 views)
Permalink
Re: Use of uninitialized value in defined operator [In reply to]

On 24 April 2012 18:10, Eric Brine <ikegami [at] adaelis> wrote:
> On Tue, Apr 24, 2012 at 11:22 AM, demerphq <demerphq [at] gmail> wrote:
>>
>> How could defined complain about an uninitialized value!?
>
>
> I suspect magic is involved. Have you tried Devel::Peek::Dump($_)?
>

Unfortunately it isnt so easy to do that. We will eventually get
there, but I was hoping someone would have some idea what might be up!


--
perl -Mre=debug -e "/just|another|perl|hacker/"

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.