in reply to Accessing data between two tags
while (my $line = <SESAME>){ my ($tempa, $value, $tempb)= split m#</?CS_REFCLT>#, $line, 3; }
Update: Thanks to jdporter for telling me about my mistake, using 2 instead of 3 above. Fixed...
Of course this will also find other constructs like </CS_REFCLT>dfasdf</CS_REFCLT>.
But maybe, if the data is XML, a real XML parser like XML::Twig is something that would help you best here...#!/usr/bin/perl use strict; use warnings; use XML::Twig; my $twig= new XML::Twig( twig_handlers => { CS_REFCLT => \&cs_refclt, }, ); my @numbers; $twig->parsefile( 'filename' ); # here you will have all numbers in @numbers. sub cs_refclt { my ($t, $elt)= @_; push @numbers, $elt->text(); }
|
|---|