Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^3: Accessing data between two tags

by prasadbabu (Prior)
on Nov 09, 2006 at 12:12 UTC ( [id://583092]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Accessing data between two tags
in thread Accessing data between two tags

johngg,

I am getting array as output. As per your solution, we can get only one value even if you use 'g' modifier.

use strict; use warnings; my $line = 'some text <CS_REFCLT>12121</CS_REFCLT> then some text <CS_ +REFCLT>4654</CS_REFCLT> here'; my (@value) = $line =~ m|<CS_REFCLT>(\d+)</CS_REFCLT>|g; my ($value) = $line =~ m|<CS_REFCLT>(\d+)</CS_REFCLT>|g; $" ="\t"; print "Array: @value\n"; print "Scalar: $value\n"; prints: ------- Array: 12121 4654 Scalar: 12121

Prasad

Replies are listed 'Best First'.
Re^4: Accessing data between two tags
by johngg (Canon) on Nov 09, 2006 at 13:56 UTC
    Reading the OP, I'm pretty sure pulling out a scalar is what ant wants to do. It firstly says that the file is large, about a gigabyte, so you are most likely to process the file a line at a time rather than slurp it into memory. It goes on to say

    each line has <CS_REFCLT>12526489</CS_REFCLT> in it some where

    which I take to mean just one occurance of the string per line, not multiples. Note also that ant says "I can't use substr to get at it." That strongly reinforces my interpretation.

    Of course, my interpretation could be totally wrong :)

    Cheers,

    JohnGG

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://583092]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-04-18 17:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found