note
repellent
<c>use </c>[mod://XML::Twig|<c>XML::Twig</c>]<c>;</c><br>
<br>
<c># we want an </c>[http://plasmasturm.org/log/xpath101/|<c>xpath</c>]<c> like: //[@name="a"]//...//[@name="b"]/warn</c>
<c>
my @names = qw(snoopdogg cpu cpu load1);
my $twig = XML::Twig->new;
$twig->parse(<<'XML');
<conf name="snoopdogg" serial="1" target="172.16.1.3">
<services>
<service name="cpu">
<plugins>
<plugin name="cpu" target="172.16.1.3" schedule="60">
<probes>
<probe name="load1">
<warn value="4" operator=">"/>
<crit value="10" operator=">"/>
</probe>
</probes>
</plugin></plugins></service></services>
</conf>
XML
my ($elt) = $twig->get_xpath(
(join "//" => "", map qq{[\@name="$_"]}, @names) . "/warn"
);
printf "value: %d\n", $elt->att('value');
__END__
value: 4
</c>
958943
958943