#### A B C #### #### sample output: wire power_control; wire add_bus; wire cpu_control; #### My code use warnings; use XML::Simple; use Data::Dumper; my $xml=XMLin('sample.xml'); my $roottags=$xml->{tags}; my $topmodule=$roottags->{Module}; my @mod=keys %$topmodule; foreach my $modules(values %$topmodule) { my $modu_temp=shift(@mod); #print "$modu_temp\n"; #my $ins_mod=$modules->{input}; my @ins=(keys %{$modules->{input}}); if(exists $ins[0]){} else{ $in_1=$modules->{input}; @ins=$in_1->{name}; } print @ins, "\n"; }