#!/usr/bin/perl -w use strict; use warnings; while (my $line=<>) { my @part=split(/\t/,$line); my @saba=split(/\|/,$part[2]); for(my $i=0;$i<@saba;++$i) { if ($saba[$i]!~m/unclassified/) {(if $i==$saba){print "$_\n";} else {print "$_|";} } else {if ($i==$saba){print "unclassified_$saba[$i-1]\n";} else {print "unclassified_$saba[$i-1]|";} } } }