On Wednesday 28 November 2007 06:32, Dan Klose wrote:
> Hi list,

Hello,

> I am having a bad day and would really like some help (the coffee
> hasn't).
>
> I have a list that looks like:
> my @list = (1,2,3,4);
>
> I would like to generate all patterns that follow:
> 1
>  2
>  3
>   4
> 12
> 123
>  23
>  34
>  234
> 1234
>
>
> The list can be of any length and the next number in the list must be
> the current number +1 ( i am not working with numbers - i think it is
> easier to explain this way).
>
> How do I do this?  I did look at the Combinatorics module however it
> does not impose fixed ordering as far as I can see.

Another way to do it:

$ perl -le'
my $list = join "", 1 .. 4;

for my $len ( 1 .. length $list ) {
    for my $elem ( 0 .. length( $list ) - 1 ) {
        my $out = substr $list, $elem, $len;
        print $out if $len == length $out;
        }
    }
'
1
2
3
4
12
23
34
123
234
1234


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to