When are people going to learn about the < code> notation?
As best as I can tell, here is what it says:
$dir='C:/texts/';
opendir(directory,$dir) or die "cant";
while($file=readdir directory){
next if $file=~/^\./;
$rfname=$dir.$file;
# print "Found file: '$rfname'\n";
open (CONT, $rfname);
while (<CONT>){
if($_=~m/[0-3]?[0-9(th)?(st)?(nd)?(rd)?]\s+(Jan(uary)?|Feb(ruary)?
+|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(obe
+r)?|Nov(ember)?|Dec(ember)?)\s+[0-9]?[0-9]?[0-9][0-9]/ig){
print "$file\t $_\n";
}
elsif($_=~m/(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|
+Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\s+
+[1-3]?[0-9](th)?(nd)?(st)?(rd)?\s+[0-9]?[0-9]?[0-9][0-9]/ig){
print "$file\t $_\n";
}
}
Looking at your code, and another response,
I see your problem. You are telling it to print the
entire string.
If you have _Learning Perl_, by our own merlyn, look at 7.3.2.3, "Parentheses as memory".
Also, from _Programming Perl_:
A regular expression in parentheses, (...), matches whatever the regular expression (represented by ...) matches according to Rule 2. Parentheses
therefore serve as a grouping operator for quantification. Parentheses also have the side effect of remembering the matched substring for later use in a
backreference (to be discussed later). This side effect can be suppressed by using (?:...) instead, which has only the grouping semantics - it doesn't store
anything in $1, $2, and so on.
Look into spending $60 for the Perl CD Bookshelf. It rocks.
J. J. Horner
Linux, Perl, Apache, Stronghold, Unix
jhorner@knoxlug.org http://www.knoxlug.org/
In reply to RE: $_
by jjhorner
in thread $_
by Anonymous Monk
-
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.