use DBI::Wrap; use XML::Simple; my $dbh = DBI::Wrap->new( ... ); $dbh->table('hacker'); my $xml = XMLin(\*DATA, keyattr => 'document'); $dbh->insert(Values => $_) for @{$xml->{document}}; __DATA__ (insert data from above snippet)