open($fh,"<","xml.xml") or die $!; while(<$fh>){ if($_ =~ /\$(.*)<\/price>/){ push @arr, $1; }elsif($_ =~ /(.*)<\/name>/){ push @ar2,$1; } } @index = sort{$ar2[$a] cmp $ar2[$b]} 0..$#ar2; @har = @ar2[@index]; @har2 = @arr[@index]; $teller = 0; foreach(@har){ print "$_ "; print $har2[$teller]; print "\n"; $teller++; }