Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: List::MoreUtils before, after and ... between?

by LanX (Bishop)
on Feb 21, 2012 at 16:15 UTC ( #955343=note: print w/replies, xml ) Need Help??

in reply to List::MoreUtils before, after and ... between?

Not sure if I understand your problem completely, why not simply combining grep and flip-flop?

This should be close:

DB<134> @list= ("a".."c","DBIC","A".."C","DANCER","a".."c") => ("a", "b", "c", "DBIC", "A", "B", "C", "DANCER", "a", "b", "c") DB<135> grep { /DBIC/.. /DANCER/ } @list => ("DBIC", "A", "B", "C", "DANCER")

Cheers Rolf

Replies are listed 'Best First'.
Re^2: List::MoreUtils before, after and ... between?
by ikegami (Pope) on Feb 21, 2012 at 23:20 UTC
    That's not the requested output.
      ...This should be close..


      Still not sure what the requested output is, but if it's only about eliminating the edges try

      DB<101> @list= ("a".."c","DBIC","A".."C","DANCER","a".."c") => ("a", "b", "c", "DBIC", "A", "B", "C", "DANCER", "a", "b", "c") DB<102> grep { /DBIC/ .. /DANCER/ and ! /DBIC/ and ! /DANCER/ } @lis +t => ("A", "B", "C")

      not DRY but effective.

        That looks very readable and produces the output I said I need, but not for some of the edge cases that other monks thought of:
        say for grep { /DBIC/ .. /Dancer/ and !/DBIC/ and !/Dancer/ } qw<eval +DBIC::3 eval DBIC::2 DBIC::1 MyApp::3 MyApp::2 MyApp::1 Dancer::3 Dan +cer::2 Dancer::1>;
        say for grep { /DBIC/ .. /Dancer/ and !/DBIC/ and !/Dancer/ } qw<MyApp +::3 MyApp::2 MyApp::1 Dancer::3 Dancer::2 Dancer::1>;
        I hadn't thought of these edge cases when I posted, but the first one is a distinct possibility. The example code with reverse before works ok for these.

        Thanks for showing me a new way of using the flip-flop.

        - Boldra

        The code is not even close to what it should be, and it's totally irrelevant if it's simply the output that is close to what it should be.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://955343]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2017-12-17 00:48 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (459 votes). Check out past polls.