#!/usr/bin/perl use strict; use warnings; use XML::Twig; my $xml=join('', ); my $max_docid=0; XML::Twig->new( twig_roots =>{ 'str[@name="docuid"]' => \&set_max_docid, }, )->parse($xml); sub set_max_docid { my ($twig, $elt)= @_; my $docid= $elt->first_child_trimmed_text; if ($docid > $max_docid ){ $max_docid=$docid } } print "max docid=$max_docid\n"; __DATA__ 2011-04-09T11:12:22.049Z 121422 ABC 2012-04-09T11:12:22.049Z 13427 CDE 2010-04-09T11:12:22.049Z 89822 LKK