Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: mysterious hash ref result

by Util (Priest)
on Jan 12, 2007 at 14:00 UTC ( #594388=note: print w/replies, xml ) Need Help??


in reply to mysterious hash ref result

Perhaps param() is using a bare return on error. A bare return returns undef or the empty list, depending on the context in which the subroutine was called! Your second example calls param() in scalar context, so a bare return would give you undef; Your first example calls param() in list context, so a bare return would give you (). To help confirm my diagnosis, try replacing your anon-hash constructors {...} with anon-array constructors [...], and impose scalar context by using scalar directly. By avoiding the hash, you will prevent confusion from the random hash ordering in your dump.
use strict; use warnings; ... my $dump_string = Dumper [ ### Uncomment one or the other of these two lines. # edit_usr_id => $self->client->param( 'edit_usr_id' ), edit_usr_id => scalar( $self->client->param( 'edit_usr_id' ) ), mode => $self->client->param( 'mode' ) ]; $self->log(LOGDEBUG, 'EDIT_USER: '.$dump_string ));
It should give something like:
EDIT_USER: $VAR1 = [ 'edit_usr_id', undef, 'mode', 'add', ];
or:
EDIT_USER: $VAR1 = [ 'edit_usr_id', 'mode', 'add', ];
Also, you should have gotten a warning about 'Odd number of elements' in your hash assignment in your first example. You do have warnings turned on, don't you?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://594388]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (8)
As of 2020-02-18 16:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What numbers are you going to focus on primarily in 2020?










    Results (76 votes). Check out past polls.

    Notices?