while ($line =~ m/\^A(\d+)=(.*?)(?=\^A)/g){ my $tags{$1}= $2; } print $tags{55} || ''; print '|'; print $tags{22} || ''; print '|'; ...