Though this seems to be heading the wrong way but - TIMTOWTDI
my @SmtpIndex =
   qw[ DebugTrace smtp port username password from to Subject Text FileName
];

my @SmtpValues = ["1", "smtps://smtp.zoho.com", "465", 'la...@zoho.com',
"NaYukYukYuk",
'la...@zoho.com', @['cu...@zoho.com','m...@zoho.com'], "Stooges",
"Certainly!", @[""] ];

my %Smtp = zip @SmtpIndex, @SmtpValues;

I guess I could imagine the values coming from a fixed order data file, so
a loop would do the zip with a split of each line but ...


On Tue, Oct 3, 2017 at 1:21 PM, ToddAndMargo <toddandma...@zoho.com> wrote:

> Sweet!    I added a reverse print to the pile!
>
> <code>
> #!/usr/bin/env perl6
>
> #`{
>   Hashes do not print in the order they are created.  it is a Perl 6 thing.
>   To overcome this, create an index of the hash.
> }
>
> my @SmtpIndex =
>    qw[ DebugTrace smtp port username password from to Subject Text
> FileName ];
>
> my %Smtp =
>   [ "{ @SmtpIndex[0] }" => "1",
>     "{ @SmtpIndex[1] }" => "smtps://smtp.zoho.com",
>     "{ @SmtpIndex[2] }" => "465",
>     "{ @SmtpIndex[3] }" => 'la...@zoho.com',
>     "{ @SmtpIndex[4] }" => "NaYukYukYuk",
>     "{ @SmtpIndex[5] }" => 'la...@zoho.com',
>     "{ @SmtpIndex[6] }" => @['cu...@zoho.com','m...@zoho.com'],
>     "{ @SmtpIndex[7] }" => "Stooges",
>     "{ @SmtpIndex[8] }" => "Certainly!",
>     "{ @SmtpIndex[9] }" => @[""] ];
>
> sub output(%hash, @index=@SmtpIndex) {
>     for @index -> $key {
>         printf "%10s = %s\n", $key, %hash{$key};
>     }
>     print "\n";
> }
>
> sub revoutput(%hash, @index=@SmtpIndex) {
>     for reverse ( @index ) -> $key {
>         printf "%10s = %s\n", $key, %hash{$key};
>     }
>     print "\n";
> }
>
>
> my @SmtpValues = %Smtp{@SmtpIndex};
>
> my %Smtp2 = do {
>     my $index = 0;
>     @SmtpValues.map: { "{ @SmtpIndex[$index++] }" => $_ };
> };
>
> my %Smtp3 = gather for 0..@SmtpIndex.elems-1 {
>     take @SmtpIndex[$_] => @SmtpValues[$_].Str;
> };
>
> my %Smtp4 = @SmtpIndex Z=> @SmtpValues;
>
> # These are all equivalent
> # output(%Smtp);
> # output(%Smtp2);
> # output(%Smtp3);
> output(%Smtp4);
>
> # print in reverse
> revoutput(%Smtp4);
> </code>
>
> $ HashIndexTest.pl6
> DebugTrace = 1
>       smtp = smtps://smtp.zoho.com
>       port = 465
>   username = la...@zoho.com
>   password = NaYukYukYuk
>       from = la...@zoho.com
>         to = cu...@zoho.com m...@zoho.com
>    Subject = Stooges
>       Text = Certainly!
>   FileName =
>
>   FileName =
>       Text = Certainly!
>    Subject = Stooges
>         to = cu...@zoho.com m...@zoho.com
>       from = la...@zoho.com
>   password = NaYukYukYuk
>   username = la...@zoho.com
>       port = 465
>       smtp = smtps://smtp.zoho.com
> DebugTrace = 1
>



-- 

a

Andy Bach,
afb...@gmail.com
608 658-1890 cell
608 261-5738 wk

Reply via email to