Rasoul Hajikhani wrote:
> 
> Hello folks,

Hello,

> I am trying not to re-invent the wheels. So I was wondering whether
> there is a little program that you good people might know of the would
> do the following for me:
> 
> Here's an example:
> 
> input: 1,2,3,4,5,6,17-25,32-101:4
> output:
> 1 6 1
> 17 25 1
> 32 100 4
> 
> output is "start end increment"
> 
> also, frames can be duplicated:
> 
> input: 1,2,3,4,5,6,17-25,32-101:4,1,2,3,5
> output:
> 1 6 1
> 17 25 1
> 32 100 4
> 1 3 1
> 5 5 1
> 
> On top of that, I may, at times, want to have up to 10,000 command line
> values. I know it sounds very strange, but it is for a movie studio with
> very peculiar requirements.


This might be what you need:

for ( split/(\d+-\d+(?::\d+)?),?/ ) {
    next unless /\d/;
    @x = /(\d+)/g;
    if ( /-/ ) {
        print "@x", @x == 2 ? " 1\n" : "\n";
        }
    else {
        do  {
            @y = ();
            unshift @y, pop @x until $#x == $x[-1] - $x[0];
            print "$x[0] $x[-1] 1\n";
            } while ( @x = @y );
        }
    }



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to