my $key;
while($line=<>){
if($line=~/\bkingdom\b\|(.*?)\|/g){
$key.=$1;
}
}
####
species|Caragana arborescens | genus|Caragana | subfamily|Papilionoideae | family|Fabaceae | order|Fabales | no rank|eurosids I | subclass|Rosidae | no rank|core eudicots | no rank|eudicotyledons | no rank|Magnoliophyta | no rank|Spermatophyta | no rank|Euphyllophyta | no rank|Tracheophyta | phylum|Embryophyta | no rank|Charophyta/Embryophyta group | no rank|Streptophyta | kingdom|Viridiplantae | superkingdom|Eukaryota | no rank|cellular organisms | no rank|root ||
species|syncytium endosymbiont of Diaphorina citri | no rank|unclassified beta proteobacteria (miscellaneous) | no rank|unclassified beta proteobacteria | class|beta subdivision | phylum|Proteobacteria | superkingdom|Bacteria | no rank|cellular organisms | no rank|root ||
subspecies|Trypanosoma brucei brucei | species|Trypanosoma brucei | subgenus|Trypanozoon | genus|Trypanosoma | family|Trypanosomatidae | order|Kinetoplastida | no rank|Euglenozoa | superkingdom|Eukaryota | no rank|cellular organisms | no rank|root ||
species|unculturable Mariana archaeon no. 1 | no rank|environmental samples | no rank|unclassified Crenarchaeota | kingdom|Crenarchaeota | superkingdom|Archaea | no rank|cellular organisms | no rank|root ||
species|Suillus aeruginascens | genus|Suillus | family|Boletaceae | order|Boletales | subclass|Hymenomycetidae | class|Hymenomycetes | phylum|Basid
####
@array= split(/\s+/, $key);
print $array[0], $array[1], $arrray[2] etc..