List::Flatten::XS - List::Flatten with XS
use List::Flatten::XS 'flatten'; my $ref_1 = +{a => 10, b => 20, c => 'Hello'}; my $ref_2 = bless +{a => 10, b => 20, c => 'Hello'}, 'Nyan'; my $ref_3 = bless $ref_2, 'Waon'; my $complex_list = [[["foo", "bar", 3], "baz", 5], $ref_1, "hoge", [$ref_2, ["huga", [1], "K"], $ref_3]]; # got: ["foo", "bar", 3, "baz", 5, $ref_1, "hoge", $ref_2, "huga", 1, "K", $ref_3]; my $flatted = flatten($complex_list); # got: ("foo", "bar", 3, "baz", 5, $ref_1, "hoge", $ref_2, "huga", 1, "K", $ref_3); my @flatted_with_array = flatten($complex_list); # got: [["foo", "bar", 3], "baz", 5, $ref_1, "hoge", $ref_2, ["huga", [1], "K"], $ref_3] my $flatted_level = flatten($complex_list, 1); # got: (["foo", "bar", 3], "baz", 5, $ref_1, "hoge", $ref_2, ["huga", [1], "K"], $ref_3) my @flatted_level_with_array = flatten($complex_list, 1);
List::Flatten::XS is provided flatten routine like Ruby's Array.flatten. So, you can flat complex list with simply or you can flat with specify nested level.
Copyright (C) CodeHex.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
K <x00.x7f@gmail.com>
To install List::Flatten::XS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm List::Flatten::XS
CPAN shell
perl -MCPAN -e shell install List::Flatten::XS
For more information on module installation, please visit the detailed CPAN module installation guide.