in reply to search and return values from an array
Hello Gtforce,
You can use something like that:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use feature 'say'; my @array = ("a1 b1", "a2 b2", "a3 b3", "a5 b5", "a4 b4"); my %hash; foreach my $element (@array) { my ($key, $value) = split(/ /, $element, 2); $hash{$key} = $value; } print Dumper \%hash; say $hash{'a5'}; __END__ $ perl test.pl $VAR1 = { 'a3' => 'b3', 'a5' => 'b5', 'a4' => 'b4', 'a2' => 'b2', 'a1' => 'b1' }; b5
What I did above is split each array element based on space between strings. Then simply I used the first element as a key to the hash and the second as the value.
Update: If you prefer one liner:
my %hash = map { split( / /, $_, 2 ) } @array;
Hope this helps, BR.
Seeking for Perl wisdom...on the process of learning...not there...yet!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: search and return values from an array
by Gtforce (Sexton) on Feb 14, 2018 at 18:39 UTC | |
by thanos1983 (Parson) on Feb 15, 2018 at 12:06 UTC |
In Section
Seekers of Perl Wisdom