george59 has asked for the wisdom of the Perl Monks concerning the following question:
Is it possible to read a set of values that include the range operator into an array for further processing or is this disallowed - if so can anyone suggest a workaround as the array set and number of ranges is dynamic and cannot be set directly
Directly writing the ranges into an array works
!/usr/bin/perl use strict; use warnings; my @list = ([0..1], [2..4], [5..8]); my @sets = []; for my $eacharray (@list) { @sets = map { my @prev = @$_; map [ @prev, $_ ], @$eacharray } @sets +; } use Data::Dump 'dd'; dd @sets;
Writing the ranges into an array from a file doesn't
!/usr/bin/perl use strict; use warnings; open my $handle, 'input.txt'; open my $handle, '<', 'input.txt'; chomp(my @list = <$handle>); close $handle; my @sets = []; for my $eacharray (@list) { @sets = map { my @prev = @$_; map [ @prev, $_ ], @$eacharray } @sets +; } use Data::Dump 'dd'; dd @sets; The input.txt file is: [0..1] [2..4] [5..8]
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Assign multiple items into an array containing the range operator from a file
by choroba (Cardinal) on Oct 19, 2021 at 15:41 UTC | |
|
Re: Assign multiple items into an array containing the range operator from a file
by haukex (Archbishop) on Oct 19, 2021 at 17:43 UTC | |
|
Re: Assign multiple items into an array containing the range operator from a file
by tybalt89 (Monsignor) on Oct 19, 2021 at 17:24 UTC | |
|
Re: Assign multiple items into an array containing the range operator from a file
by kcott (Archbishop) on Oct 19, 2021 at 15:57 UTC | |
|
Re: Assign multiple items into an array containing the range operator from a file
by AnomalousMonk (Archbishop) on Oct 20, 2021 at 06:16 UTC |