Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: how to fetch 1,2,3, from chapter

by ww (Bishop)
on Apr 26, 2013 at 17:29 UTC ( #1030869=note: print w/ replies, xml ) Need Help??


in reply to how to fetch 1,2,3, from chapter

NOT a general solution, unless all cases closely match the sample presented (which doesn't seem to show any reasonable use of a regex to solve the problem. For a prime example, why would you do the unnecessary work of dividing the word "chapter" into a literal fragment and a captured [a-z]* class? This way lies madness!

OTOH, many will think this plodding, literal-minded code mad.... or at best, inelegant. So be it... in the name of a clear and explicit demo of an algorithm implemented more gracefully by others, above:

#!/usr/bin/perl use 5.016; use Data::Dumper; # 1030798 my $str = "chapter 1,2,3"; # out: "chapter 1, chapter 2, chapter +3" my @arr = split / /,$str; # split to 2 element array, "chapter" & + "1,2,3" my @chaptnums = split /,/,$arr[1]; for my $elem(@chaptnums) { print "$arr[0] $elem"; # e.g. "chapter " . num if (scalar $elem != (1+$#chaptnums) ) { # not the last @chaptnums + element? print ", "; } else { print "\n"; } } =head EXECUTION C:>1030798.pl chapter 1, chapter 2, chapter 3 =cut

Again, CAUTION: The code above is NOT how to do the job; it's for instruction purposes, only.


If you didn't program your executable by toggling in binary, it wasn't really programming!


Comment on Re: how to fetch 1,2,3, from chapter
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (11)
As of 2015-07-28 23: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 (260 votes), past polls