use XML::Smart ; my $xml = new XML::Smart(q` Acta Biomaterialia 1742-7061 1 01-01-1974 1 200 Acta Biomaterialia 1742-7062 1 01-01-1974 1 200 `); my @jornals = @{ $xml->{root}{journal} } ; foreach my $jornals_i ( @jornals ) { if ( $jornals_i->{ISSN} eq '1742-7061' ) { my $i = $jornals_i->i() ; delete $xml->{root}{journal}[$i] ; } } print $xml->data ;