in reply to using the perl debugger...

you are really creating different structures, Data::Dumper shows the difference clearly:
$VAR1 = { 'expr' => \[ 'booya', 'kada' ] }; $VAR1 = { 'expr' => [ [ 'booya', 'kada' ] ] };
I thing you are confused about the way array references are created in perl. Probably, you would like to use...
my %args; $args{'expr'} = ['booya' 'kada']; # no \ required here
or
my %args; my @ary; @ary = ('booya', 'kada'); # use () instead of [] $args{'expr'} = \@ary;
to create
$VAR1 = { 'expr' => [ 'booya', 'kada' ] };