The =~ returning the matches in an array context is
probably also one of my favorites. Note that you can also combine
it with the g modifier, like this:
@array = ($string =~ /(\d+)/g);
to get every number on the string. In fact, if you have a simple
regex like this you don't need the grouping parenthesis, you
can simply use:
@array = ($string =~ /\d+/g);
One of my favorite examples of this is the following code to
keep the $VERSION variable in sync with the RCS/CVS revision
number (taken from the perlmod man page):
$VERSION = do { my @r = (q$Revision$ =~ /\d+/g);
sprintf "%d."."%02d" x $#r, @r };
It took me a while to fully understand this code the first
time I saw it :-)
--ZZamboni
-
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.
|