Similarly, I don't see the reason to run the same pair of statements three times:
$s =~ s/^;.*\Z//m; chomp $s;
$s =~ s/^;.*\Z//m; chomp $s;
$s =~ s/^;.*\Z//m; chomp $s;
Once should be enough, no? And I doubt the chomp is useful here.
Again, remember we are dealing with a multi-line string.
So running it once removes just the last comment line, not the last
three comment lines.
Also, please note that the first:
$s =~ s/^;.*\Z//m;
removes the contents of the last comment line of a multi-line string (note that \Z matches just the end of
the (multi-line) string, not the end of each line).
So if you ran it again without the chomp it would do nothing
because you've have already removed the last comment line!
The chomp is needed to remove the newline now sitting at the end of the string.
An alternative to chomp, suggested above by tye,
is to eschew the m modifier and remove the newline as part of the regex, like so:
s/\n;.*\Z//
-
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.
|