Hi All,

I an not figure out how to read the hash.


~~~~~~~~~~~ ini.test.pl6.ini ~~~~~~~~~~~~~
# Raku: Confug::INI test INI
# edit at your own risk

[Backup paramters]
target=B:\myDocsBackp\backup1
partition=BACKUP

[eMail]
smtp=smtp.bozo.com
address=b...@theclown.com
port=587
~~~~~~~~~~~ /ini.test.pl6.ini ~~~~~~~~~~~~~


~~~~~~~~~~~ ini.test.pl6 ~~~~~~~~~~~~~
#! /usr/bin/env raku

#`{
    # zef install Config
    # zef install Config::INI



https://github.com/tadzik/perl6-Config-INI/blob/master/lib/Config/INI.pm
    line 45 starts documtation

    use Config::INI;
    my %hash = Config::INI::parse_file('config.ini');
    #or
    %hash = Config::INI::parse($file_contents);
    say %hash<_><root_property_key>;
    say %hash<section><in_section_key>;

    This module provides 2 functions: parse() and parse_file(), both taking
    one C<Str> argument, where parse_file is just parse(slurp $file).
    Both return a hash which keys are either toplevel keys or a section
    names. For example, the following config file:

    foo=bar
    [section]
    another=thing

    would result in the following hash:
}
#   { '_' => { foo => "bar" }, section => { another => "thing" } }


use Config;
use Config::INI;

my Str $IniFile = slurp "ini.test.pl6.ini";
my %hash = Config::INI::parse($IniFile);

dd %hash;
print "\n";

for %hash.kv -> $key, $value  { print "   hash<$key> = [$value]\n\n"; }
print "\n";
~~~~~~~~~~~ /ini.test.pl6 ~~~~~~~~~~~~~

~~~~~~~~~~~~~ run the test ~~~~~~~~~~~~
$ ini.test.pl6

Hash %hash = {"Backup paramters" => ${:partition("BACKUP"), :target("B:\\myDocsBackp\\backup1")}, :eMail(${:address("bozo\@theclown.com"), :port("587"), :smtp("smtp.bozo.com")})}

   hash<Backup paramters> = [partition    BACKUP
target  B:\myDocsBackp\backup1]

   hash<eMail> = [address b...@theclown.com
port    587
smtp    smtp.bozo.com]
~~~~~~~~~~~~~ /run the test ~~~~~~~~~~~~


How do I read the hash so I get section
`[eMail]` `smtp`?  (Or any of the other values
as well.)


Many thanks,
-T

Reply via email to