From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

my $array = Data::LnArray->new();
my $from = $array->from([qw/one two three four/]);
my @array = $from->retrieve;
is($array[0], 'one');
is($array[1], 'two');
is($array[2], 'three');
is($array[3], 'four');
$from = $array->from(q|foo|);
@array = $from->retrieve;
is($array[0], 'f');
is($array[1], 'o');
is($array[2], 'o');
$from = $array->from([qw/1 2 3/], sub { $_ + $_ });
@array = $from->retrieve;
is($array[0], 2);
is($array[1], 4);
is($array[2], 6);
$from = $array->from({length => 5}, sub { $_ + $_ });
@array = $from->retrieve;
is($array[0], 0);
is($array[1], 2);
is($array[2], 4);
is($array[3], 6);
is($array[4], 8);
eval { $array->from({}) };
like($@, qr/currently cannot handle/);
done_testing;