#!/usr/bin/perl -w use strict; use warnings; use XML::Twig; my $twig = XML::Twig->new( twig_print_outside_roots => 1, twig_roots => { 'img[@alt="Smiley"]' => sub { print q{:)} }, 'img[@alt="Wink"]' => sub { print q{;)} }, }, ); $twig->parse(\*DATA); __DATA__ Wink NotWink Smiley