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

Re: Split string after 14 Line Feeds? (//g)

by tye (Cardinal)
on Dec 03, 2012 at 23:17 UTC ( #1006962=note: print w/ replies, xml ) Need Help??


in reply to Split string after 14 Line Feeds?

my @chunks = $description =~ /^((?:[^\n]*\n){14}|.*)*/gs;

- tye        


Comment on Re: Split string after 14 Line Feeds? (//g)
Download Code
Re^2: Split string after 14 Line Feeds? (//g)
by johnfl68 (Beadle) on Dec 04, 2012 at 05:11 UTC
    Thanks. I think I see where you are going with this, but the array is coming up empty. I'll try and go over it again, regex's make my head hurt. :(

      Indeed. I conflated two similar techniques: getting a list of matches from /(...)/g and getting a list of matches from /(...)(...)(...)/. You don't get a list of matches from /(...)*/ (nor from /(...)*/g).

      What I should have written was:

      my @chunks = $description =~ /\G((?:[^\n]*\n){14}|.+)/gs;

      (tested even; works even)

      Update: Changed last * to + to eliminate extra empty string in result that I just noticed which is due to "quirk" in Perl regex processing (something I think we should just 'fix', but that is a story for another node, one I've written at least once already).

      - tye        

        Thank you very much! That works great!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2015-07-05 16:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls