develooper Front page | perl.perl6.users | Postings from January 2019

Re: I need hash inside a hash help

Thread Previous | Thread Next
From:
ToddAndMargo via perl6-users
Date:
January 11, 2019 19:50
Subject:
Re: I need hash inside a hash help
Message ID:
c7a8ed35-095a-c581-49a2-55027073209c@zoho.com
On 1/11/19 11:43 AM, ToddAndMargo via perl6-users wrote:
> On 1/11/19 11:39 AM, ToddAndMargo via perl6-users wrote:
>> On 1/11/19 11:33 AM, JJ Merelo wrote:
>>> I think you want $x, not $Ace.
>>>
>>> Cheers
>>
>> Yup.  I am on fire today!  :'(
>>
>> Still can't get it figured out.  :'(  :'(
>>
>> $ p6 'my $x="Ace"; my %Vendors=("acme" => { "ContactName" => "Larry", 
>> "AccountNo" => 1234 }, "Ace" => { "ContactName" => "Mo", "AccountNo" 
>> => "A102" } ); say "%Vendors<$x><ContactName>" ~ "\t" ~ 
>> "%Vendors<$x><AccountNo>";'
>> Use of uninitialized value of type Any in string context.
>>
>>
>> $ p6 'my $x="Ace"; my %Vendors=("acme" => { "ContactName" => "Larry", 
>> "AccountNo" => 1234 }, "Ace" => { "ContactName" => "Mo", "AccountNo" 
>> => "A102" } ); say "%Vendors<"$x"><ContactName>" ~ "\t" ~ 
>> "%Vendors<"$x"><AccountNo>";'
>> Use of uninitialized value of type Any in string context.
>>
>> $ p6 'my $x="Ace"; my %Vendors=("acme" => { "ContactName" => "Larry", 
>> "AccountNo" => 1234 }, "Ace" => { "ContactName" => "Mo", "AccountNo" 
>> => "A102" } ); say "%Vendors<{$x}><ContactName>" ~ "\t" ~ 
>> "%Vendors<{$x}><AccountNo>";'
>> Use of uninitialized value of type Any in string context.
>>
>> $ p6 'my $x="Ace"; my %Vendors=("acme" => { "ContactName" => "Larry", 
>> "AccountNo" => 1234 }, "Ace" => { "ContactName" => "Mo", "AccountNo" 
>> => "A102" } ); say "%Vendors<{"$x"}><ContactName>" ~ "\t" ~ 
>> "%Vendors<{"$x"}><AccountNo>";'
>> Use of uninitialized value of type Any in string context.
>>
>>
>> I can't win.
> 
> 
> $ p6 'my $x="Ace"; my %Vendors=("acme" => { "ContactName" => "Larry", 
> "AccountNo" => 1234 }, "Ace" => { "ContactName" => "Mo", "AccountNo" => 
> "A102" } ); say "%Vendors<<$x>><ContactName>" ~ "\t" ~ 
> "%Vendors<<$x>><AccountNo>";'
> ===SORRY!===
> Unable to parse expression in double quotes; couldn't find final '"' 
> (corresponding starter was at line 1)
> at -e:1
> ------> >" ~ "\t" ~ "%Vendors<<$x>><AccountNo>";⏏<EOL>
>      expecting any of:
>          double quotes
>          postfix
> Other potential difficulties:
>      Ambiguous use of >>; use » instead to mean hyper, or insert 
> whitespace before >> to mean a quote terminator (or use different 
> delimiters?)
>      at -e:1
>      ------> 2" } ); say "%Vendors<<$x>><ContactName>⏏" ~ "\t" ~ 
> "%Vendors<<$x>><AccountNo>";
>      Ambiguous use of >>; use » instead to mean hyper, or insert 
> whitespace before >> to mean a quote terminator (or use different 
> delimiters?)
>      at -e:1
>      ------> me>" ~ "\t" ~ "%Vendors<<$x>><AccountNo>⏏";


I got it finally.  I had to switch from a one liner to an actual program


<code HashOfHashTest.pl6>
#! /usr/bin/env perl6

my $x       = "Ace";
my %Vendors = ( "acme" => { "ContactName" => "Larry", "AccountNo" => 
1234 },
                 "Ace" =>  { "ContactName" => "Mo",    "AccountNo" => 
"A102" } );

print( %Vendors<< $x >><ContactName> ~ "\t" ~ %Vendors<< $x 
 >><AccountNo> ~ "\n" );
<M/code>


$ HashOfHashTest.pl6
Mo	A102

And it demanded a white space in << $x >>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About