http://qs321.pair.com?node_id=1232272


in reply to Re^2: Value into array
in thread Value into array

A hash instead of an array could be useful for you:

use strict; use warnings; my %hash = ( N1 => { A => 1, B => 1}, N2 => { A => 1, B => 1}, N3 => { A => 1, B => 1}, N6 => { A => 1, B => 1}, N7 => { A => 1, B => 1}, ); # usage e.g. print $hash{N3}{A}, "\n";

Replies are listed 'Best First'.
Re^4: Value into array
by ameezys (Acolyte) on Apr 08, 2019 at 07:53 UTC
    Okay, thank you. How about if the input_array is obtained from user input. So the variable isn't fixed. Meaning that N1, N2, N3,... is not fixed.
      my @input_array = ( 'N1','N2','N3','N6','N7'); my %hash = ( map { $_ => { A => 1, B => 1} } @input_array );
      All of that is possible. You will need to further explain the problem - perhaps showing the input and output desired. And preferably write some code of your own.
        I managed to write the code like this.
        my @input_array = (N1,N2,N3,N6,N7); #not fixed (user input) for(my $i=0; $i < @input_array; $i++) { my %hash = ( $input_array[$i] => { CC0 => 1, CC1 => 1}, ); print "CC0[", $input_array[$i], "] : "; print $hash{$input_array[$i]}{CC0}, "\n"; print "CC1[", $input_array[$i], "] : "; print $hash{$input_array[$i]}{CC1}, "\n\n"; }
        Here is the output:
        CC0[n1] : 1 CC1[n1] : 1 CC0[n2] : 1 CC1[n2] : 1 CC0[n3] : 1 CC1[n3] : 1 CC0[n6] : 1 CC1[n6] : 1 CC0[n7] : 1 CC1[n7] : 1

        The next thing I want to do is to store each CC0 value into one array. And store each CC1 value into one array. Because I need to update those values later by performing a few calculations. What should I do next?