| List-Intersperse documentation | view source | Contained in the List-Intersperse distribution. |
List::Intersperse - Intersperse / unsort / disperse a list
use List::Intersperse qw/intersperseq/;
@ispersed = intersperseq {substr($_[0],0,1)} qw/A1 A2 B1 B2 C1 C2/;
@ispersed = List::Intersperse::intersperse qw/A A B B B B B B C/;
intersperse and intersperseq evenly distribute elements of a
list. Elements that are considered equal are spaced as far apart from each
other as possible.
This function returns a list of elements interspersed so that equivalent items are evenly distributed throughout the list.
intersperseq works like intersperse but it applies BLOCK to the elements
of LIST to determine the equivalance key.
This module was written by Tim Ayers (http://search.cpan.org/search?mode=author&query=tayers) and John Porter (http://search.cpan.org/search?mode=author&query=jdporter).
Thanks to John Porter for providing and implementing an improved algorithm for solving the problem.
Copyright (c) 2001 Tim Ayers and John Porter.
All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| List-Intersperse documentation | view source | Contained in the List-Intersperse distribution. |