thanks.
I did try somethin like using split with multiple parameters but it extacts the whole line.
can u help mein understand this line
print $1,$/ if/\s+?(\d+?)\/total$/;
I understood what we are trying to do here if/\s+?(\d+?)\/total but the thing before and after i dont get it | [reply] [d/l] [select] |
$1 holds the result of the pattern match captured inside (parenthesis). If you had multiple parens then there would also be a $2, $3, etc. The $/ variable is the input record separator, this defaults to being a newline, so print $_,$/ is equivalent to print "$_\n". The $ after total tells the regex engine that total will be the last thing on the line.
Cheers, R.
Pereant, qui ante nos nostra dixerunt!
| [reply] [d/l] [select] |
$count = $line if/\s+?(\d+?)\/total$/;
will this look fine? | [reply] [d/l] |
Random_Walk has given a good explanation. However, maybe the following line could help clear the that line a bit.
print $1,$/ if m{\s+?(\d+?)\/total$}; The above line shows clearly that after "total", what you have is "$" that indicate the end of the string and not "$/". The / that follows "$" is the second "slash" of the match operator i.e
m//
^ This one
In addition to all that, using the module "YAPE::Regex::Explain" the regular expression matches could be explain as thus:
The regular expression:
(?-imsx:\s+?(\d+?)/total$)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------------------
(?-imsx: group, but do not capture (case-sensitive)
(with ^ and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------------------
\s+? whitespace (\n, \r, \t, \f, and " ") (1 or
more times (matching the least amount
possible))
----------------------------------------------------------------------
( group and capture to \1:
----------------------------------------------------------------------
\d+? digits (0-9) (1 or more times (matching
the least amount possible))
----------------------------------------------------------------------
) end of \1
----------------------------------------------------------------------
/total '/total'
----------------------------------------------------------------------
$ before an optional \n, and the end of the
string
----------------------------------------------------------------------
) end of grouping
----------------------------------------------------------------------
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me
| [reply] [d/l] [select] |
| [reply] |