Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: List-to-Range generation

by Vynce (Friar)
on Sep 21, 2001 at 23:59 UTC ( #113988=note: print w/ replies, xml ) Need Help??


in reply to List-to-Range generation

by request in the chatterbox, a simple undo:

sub stringRangeToList { my $foo = shift; $foo =~ s/-/../g; return eval $foo; }

or, if you want string-to-string, this maybe seems more perlish:

sub stringRangeToStringList { my $foo = shift; $foo =~ s/(\d+)-(\d+)/join ',',$1..$2/eg; return $foo; }

the usual caveat about 0-led numbers applies to the first and, in fact, it can take hex values (though it returns them as ints, which means they are likely to print as decimal if you don't pay attention). for reasons i'm not clear on, the 0-led thing doesn't happen to the second, though that's nicely consistent with its willful mistreatment of hex numbers. in fact, with no strict ('subs'), the first can take letter-ranges, as well.

neither responds particularly surprisingly, nor particularly well, to "3-5-7". error checking is left as an exercise to the reader. use at your own risk. these snippets were not tested on live animals; no test data was harmed in the design, creation, or testing of these snippets.

.


Comment on Re: List-to-Range generation
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2014-10-02 10:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (52 votes), past polls