use strict; use warnings; ; # ignore first input line while (my $line = ) { $line =~ s{ \t }{; }xmsg; # make output ProteinName field min 4 cols wide, right justified. $line =~ s{ \A ([^;]*) (?= ;) }{ sprintf '%4s', $1 }xmse; print $line; } exit; __DATA__ ProteinName MF1 MF2 MF3 GH1 Growth factor activity Growth hormone receptor binding Hormone activity POMC G protein-coupled receptor binding Hormone activity Signaling receptor binding THRAP3 ATP binding Source Nuclear receptor transcription coactivator activity Phosphoprotein binding