Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Re: (Golf) Rangify Array

by kilinrax (Deacon)
on Sep 27, 2001 at 21:00 UTC ( [id://115161]=note: print w/replies, xml ) Need Help??


in reply to Re: (Golf) Rangify Array
in thread (Golf) Rangify Array

You don't need to make that a non-capturing parenthesis, nor resort to lookahead/lookbehind trickery; a simple word boundary will do. Very nice trick with $+, though ;)
# 27 + 40 + 2 = 69 dude! sub num2range { #234567890123456789012345678901234567890 my$x=join',',sort{$a-$b}@_; $x=~s/\b(\d+)(,((??{$++1})))+\b/$1-$+/g; $x }

Replies are listed 'Best First'.
Re: Re: Re: (Golf) Rangify Array
by japhy (Canon) on Sep 27, 2001 at 21:09 UTC
    Hmm, good point. The capturing parens are fine. The reason I had look-ahead/behind was because I was looking at a larger problem which doesn't actually exist since we're dealing with numbers. Good move.

    _____________________________________________________
    Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
    s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://115161]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (6)
As of 2024-03-28 15:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found