#!/usr/bin/perl -l use strict; use warnings; while () { chomp; s/(?:COMMENT|[&\\_@])//g; my @data = split /:/; print '', '', join('', @data[1,2]), '', '', $data[4], ''; } __DATA__ 0:A:B:frag1:name1 1:C:D:frag2:name2 0:E:F:fr&ag3:naCOMMENTme3 1:G:H:fr\ag4:_name4 0:I:J:fr@ag5:name5 #### ABname1 CDname2 EFname3 GHname4 IJname5