Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^2: Split with numbers

by muba (Priest)
on Nov 24, 2015 at 19:26 UTC ( #1148533=note: print w/replies, xml ) Need Help??

in reply to Re: Split with numbers
in thread Split with numbers


Using your code as inspiration, I wrote something that creates the data structure instead of only printing out the results.

use strict; use warnings; use Data::Dump 'pp'; my @examples = qw[ AB23C ABC23 23BC ABC ]; my @out; push @out, [ m/([A-Z]*)([0-9]*)([A-Z]*)/ ] for @examples; pp @out; __END__ ( ["AB", 23, "C"], ["ABC", 23, ""], ["", 23, "BC"], ["ABC", "", ""], )

Replies are listed 'Best First'.
Re^3: Split with numbers
by BrowserUk (Pope) on Nov 24, 2015 at 19:33 UTC

    Nice. Though rather than pre-declaring @out and then pushing to it, I'd use map to initialise @out directly:

    @out = map[ m[([A-Z]*)([0-9]*)([A-Z]*)] ], qw[ AB23C ABC23 23BC ABC ]; +; pp \@out;; [ ["AB", 23, "C"], ["ABC", 23, ""], ["", 23, "BC"], ["ABC", "", ""], ]

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.

      Yes. I don't know why I didn't do that.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2021-03-02 05:59 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (38 votes). Check out past polls.