You have a specification problem. A few, actually.
- You're asking for two newlines and showing three. Did you mean two blank lines? Or are you counting one new line as part of the paragraph?
- You don't want to get rid of all whitespace. There's a space between each word in the output, except when ':END' appears with no whitespace before it.
- You have specified a regex but you likely want more than one regex. Some of this can be done as simply with character translation as with a regex.If you're feeding a regex into some third-party system that requires a single regex as a data input then I feel for you. Otherwise break the problem into parts.
- There is an implicit assumption that text manipulation must be done only with text manipulation tools. Loops, state flags, and counters may actually be clearer in many cases.
This smells a bit like homework. I don't mind helping with homework, but I'm not going to give a final version you'd want a professor to see. The below smell. They stink. They are not so much solutions as new problems. If I was teaching a class and a student brought this to me I'd tell her to come back when the assignment was complete.
perl -e '$/--;$_=<>;s/[ \t]+/ /g;s/ ?(\r?\n) ?/$1/g;s/($1){3,}/$1$1$1/
+g;s/[\s\r\n]+(:END)/$1/;print'
or
perl -e '$/=undef;while(<>){tr/ \t/ /ds;s/ ?(\r?\n) ?/$1/g;s/\s+:/:/g;
+s/(\r?\n){3,}/$1$1$1/g;print}'
The above are designed to give the model output from the model input. They don't do so in a clean or maintainable way. You may be able to glean some information from them. Most of all, perhaps you'll learn to ask about which specific parts you don't understand and how to improve them.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.