# Re: How to push a hash on an array without flattening it to Pairs?

```> On 26 Sep 2015, at 14:26, Aristotle Pagaltzis <pagalt...@gmx.de> wrote:
> * Elizabeth Mattijsen <l...@dijkmat.nl> [2015-09-26 13:20]:
>> There is: you just need to itemize the hash, e.g. by prefixing it with \$
>>
>> \$ 6 'my %h = a => 42, b => 666; my @a = \$%h; dd @a'
>> Array @a = [{:a(42), :b(666)},]
>>
>> This is the one argument rule at work.
>
> Aha! Much better. Explicit. “Don’t subject %h to flattening.”
>
> No need to combine two other unrelated rules to bend around invoking the
> undesired rule; just directly saying not to invoke it.
>
> Now of course I must ask – is there an opposite also? I.e. when writing
> a list, is there a way I can say “do flatten this item?” Or put in other
> words, what goes in place of XXX in the following to make it real?
>
>    \$ 6 'my %h = a => 42, b => 666; dd \$_ for %h,XXX'
>    Hash %h = {:a(42), :b(666)}
>    :a(42)
>    :b(666)```
```

\$ 6 'my %h = a => 42, b => 666; dd \$_ for |%h,|%h'
:a(42)
:b(666)
:a(42)
:b(666)

Prefix | is a short way to Slip something :-)

Liz```