You only had two capturing ()'s so $3 won't return anything your way. The .+ captures everything up to (d) since it is greedy.
To make your regex work:
Use the /g option.
Remove the ^ anchor at the start.
Remove the (.*?) at the end.
Add the $ option at the end in place of the a-z in the lookahead.
my $RefLine = "(a) This is first line. (b) This is second line; (c) Th
+is is different line 32. (d) Here is the last line.";
@lines = $RefLine =~ /(\([a-z]\).*?)(?=$|\([a-z]\))/g;
print ">>$_<<\n" foreach @lines;
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|