Thanks for the replies, much appreciated. All the solutions work on the data I supplied in my original post. As tobyink says the segment samples I gave form a cycle but when I try the solutions on segments that don't form a cycle I run into a problem. For example, if I take out one of the segments and use choroba's solution I get three lines.
my @AoA = ( # removed [11,29, 10,25], [15,35, 11,29], [15,15, 11,21], [10,25, 11,21], [15,35, 21,39], [25,40, 21,39], [21,11, 25,10], [15,15, 21,11], [35,35, 29,39], [29,39, 25,40], [35,15, 29,11], [25,10, 29,11], [40,25, 39,29], [35,35, 39,29], [39,21, 40,25], [35,15, 39,21], ); # Result (15,35, 11,29) (15,15, 11,21, 10,25) (15,35, 21,39, 25,40, 29,39, 35,35, 39,29, 40,25, 39,21, 35,15, 29,11, + 25,10, 21,11, 15,15)
It seems to depend on which point I pick to start with, so if I pick a point at the end or start of the line it will work (where the break is), but I don't know in advance what these points are. Here is the same data with the segments re-arranged so the break point is at the start:
my @AoA = ( # removed [11,29, 10,25], [10,25, 11,21], [15,35, 11,29], [15,15, 11,21], [15,35, 21,39], [25,40, 21,39], [21,11, 25,10], [15,15, 21,11], [35,35, 29,39], [29,39, 25,40], [35,15, 29,11], [25,10, 29,11], [40,25, 39,29], [35,35, 39,29], [39,21, 40,25], [35,15, 39,21], ); # Result (10,25, 11,21, 15,15, 21,11, 25,10, 29,11, 35,15, 39,21, 40,25, 39,29, + 35,35, 29,39, 25,40, 21,39, 15,35, 11,29)

In reply to Re: Combine line segments to form a single line by bangor
in thread Combine line segments to form a single line by bangor

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.