Try

say %x{$y}.base(16);

On Thu, Dec 5, 2019 at 10:52 AM Todd Chester via perl6-users <
perl6-users@perl.org> wrote:

> Hi All,
>
> In the following,
>
>
> $ p6 'my %x= YesNo=>0xff, OkayCancel=>0x55; my $y="YesNo"; if  %x<<$y>>
> {say %x<<$y >>.base(16)}else{say "n"};'
> FF
>
> $ p6 'my %x= YesNo=>0xff, OkayCancel=>0x55; my $y="Help"; if  %x<<$y>>
> {say %x<< $y >>.base(16)}else{say "n"};'
> n
>
> I have to use a space after $y
>     say %x<<$y >>.base(16)
>
> or I get the finger wagged at me.
>
>      Ambiguous use of >>; use ยป instead to mean hyper, or
>      insert whitespace before >> to mean a quote terminator
>      (or use different delimiters?)
>
> Is there a better way to write:
>      say %x<<$y >>.base(16)
>
> Many thanks,
> -T
>


-- 
Fernando Santagata

Reply via email to