my %books; my $twig= new XML::Twig( twig_handlers => { book => \&books } ); $twig->parse($xmlStr); print Dumper(\%books); exit; sub books { my ($twig, $book) = @_; my $id = $book->att('id'); $books{$id}{'author' } = $book->first_child('author' )->text(); $books{$id}{'title' } = $book->first_child('title' )->text(); $books{$id}{'genre' } = $book->first_child('genre' )->text(); $books{$id}{'price' } = $book->first_child('price' )->text(); $books{$id}{'publish_date' } = $book->first_child('publish_date')->text(); } #### use strict; use warnings; use XML::Twig; use Data::Dumper; my $xmlStr = < Gambardella, Matthew XML Developer's Guide Computer 44.95 2000-10-01 An in-depth look at creating applications with XML. Ralls, Kim Midnight Rain Fantasy 5.95 2000-12-16 A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world. Corets, Eva Maeve Ascendant Fantasy 5.95 2000-11-17 After the collapse of a nanotechnology society in England, the young survivors lay the foundation for a new society. Corets, Eva Oberon's Legacy Fantasy 5.95 2001-03-10 In post-apocalypse England, the mysterious agent known only as Oberon helps to create a new life for the inhabitants of London. Sequel to Maeve Ascendant. Corets, Eva The Sundered Grail Fantasy 5.95 2001-09-10 The two daughters of Maeve, half-sisters, battle one another for control of England. Sequel to Oberon's Legacy. Randall, Cynthia Lover Birds Romance 4.95 2000-09-02 When Carla meets Paul at an ornithology conference, tempers fly as feathers get ruffled. Thurman, Paula Splish Splash Romance 4.95 2000-11-02 A deep sea diver finds true love twenty thousand leagues beneath the sea. Knorr, Stefan Creepy Crawlies Horror 4.95 2000-12-06 An anthology of horror stories about roaches, centipedes, scorpions and other insects. Kress, Peter Paradox Lost Science Fiction 6.95 2000-11-02 After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum. O'Brien, Tim Microsoft .NET: The Programming Bible Computer 36.95 2000-12-09 Microsoft's .NET initiative is explored in detail in this deep programmer's reference. O'Brien, Tim MSXML3: A Comprehensive Guide Computer 36.95 2000-12-01 The Microsoft MSXML3 parser is covered in detail, with attention to XML DOM interfaces, XSLT processing, SAX and more. Galos, Mike Visual Studio 7: A Comprehensive Guide Computer 49.95 2001-04-16 Microsoft Visual Studio 7 is explored in depth, looking at how Visual Basic, Visual C++, C#, and ASP+ are integrated into a comprehensive development environment. XML my %books; my $twig= new XML::Twig( twig_handlers => { book => \&books } ); $twig->parse($xmlStr); print Dumper(\%books); exit; sub books { my ($twig, $book) = @_; my $id = $book->att('id'); $books{$id}{'author' } = $book->first_child('author' )->text(); $books{$id}{'title' } = $book->first_child('title' )->text(); $books{$id}{'genre' } = $book->first_child('genre' )->text(); $books{$id}{'price' } = $book->first_child('price' )->text(); $books{$id}{'publish_date' } = $book->first_child('publish_date')->text(); } #### $VAR1 = { 'bk111' => { 'publish_date' => '2000-12-01', 'price' => '36.95', 'title' => 'MSXML3: A Comprehensive Guide', 'author' => 'O\'Brien, Tim', 'genre' => 'Computer' }, 'bk108' => { 'publish_date' => '2000-12-06', 'price' => '4.95', 'title' => 'Creepy Crawlies', 'author' => 'Knorr, Stefan', 'genre' => 'Horror' }, 'bk105' => { 'publish_date' => '2001-09-10', 'price' => '5.95', 'title' => 'The Sundered Grail', 'author' => 'Corets, Eva', 'genre' => 'Fantasy' }, 'bk102' => { 'publish_date' => '2000-12-16', 'price' => '5.95', 'title' => 'Midnight Rain', 'author' => 'Ralls, Kim', 'genre' => 'Fantasy' }, 'bk112' => { 'publish_date' => '2001-04-16', 'price' => '49.95', 'title' => 'Visual Studio 7: A Comprehensive Guide', 'author' => 'Galos, Mike', 'genre' => 'Computer' }, 'bk106' => { 'publish_date' => '2000-09-02', 'price' => '4.95', 'title' => 'Lover Birds', 'author' => 'Randall, Cynthia', 'genre' => 'Romance' }, 'bk107' => { 'publish_date' => '2000-11-02', 'price' => '4.95', 'title' => 'Splish Splash', 'author' => 'Thurman, Paula', 'genre' => 'Romance' }, 'bk103' => { 'publish_date' => '2000-11-17', 'price' => '5.95', 'title' => 'Maeve Ascendant', 'author' => 'Corets, Eva', 'genre' => 'Fantasy' }, 'bk104' => { 'publish_date' => '2001-03-10', 'price' => '5.95', 'title' => 'Oberon\'s Legacy', 'author' => 'Corets, Eva', 'genre' => 'Fantasy' }, 'bk109' => { 'publish_date' => '2000-11-02', 'price' => '6.95', 'title' => 'Paradox Lost', 'author' => 'Kress, Peter', 'genre' => 'Science Fiction' }, 'bk101' => { 'publish_date' => '2000-10-01', 'price' => '44.95', 'title' => 'XML Developer\'s Guide', 'author' => 'Gambardella, Matthew', 'genre' => 'Computer' }, 'bk110' => { 'publish_date' => '2000-12-09', 'price' => '36.95', 'title' => 'Microsoft .NET: The Programming Bible', 'author' => 'O\'Brien, Tim', 'genre' => 'Computer' } };