The snippet below gives an example of what I would like to do. My questions follow the snippet.
#!/usr/bin/perl -wl
use strict;
for (<DATA>){
chomp;
my ($base, $end) = $_ =~ /(\w+)\.(tif(?:f)?\b)/gi;
next if not defined $base;
print "$base \t $end";
}
__DATA__
list 1.tif
convert 3.tif to baloney.pic
path is c:\TIFS\009.tif
10.tif
how many "11.tifs" are there?
14.TIFF
Until I came across the idea that regular expressions may be used for assignment to multiple variables as above, I might have tried to concoct split expression to handle the job. This is a new idea to me. Are there potential gotchas or performance penalties, attached to using regular expressions for assignment to variables, as above, instead of split?
split asks me to look for an element I want to discard, but my brain wants 'assignment' to be equal to the elements I'm trying to keep. This is what I'd call a "psychological" advantage: using an idiom that more closely expresses what I want to do. Do you agree?
mkmcconn
-
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.
|