I would apply one or more regular expressions to identify whether-or-not this a string that you are interested in. Then, write another regex to match only what you need from each. Use a subroutine or subroutines; “regex golf” only goes so far. Treat the two problems separately, and break each one down into as many cases as you need.
Obviously, entry #11 is the odd-man-out from all the rest. You need to build a suite of examples of everything that the string could possibly be, and determine exactly what should be used to extract the data-of-interest from each one. Then, I strongly recommend putting the whole thing to the Test::Most. Write a test suite that proves the correct operation of the program. Also, write the program itself so that it is suspicious of all its inputs and will, say, die() if it encounters anything that it cannot handle. (Otherwise, you have no practical way to realize that a problem exists, either in the data or in the program or both. The fact that the program ran cleanly should be a strong indicator that both the data and the software are correct.)
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||