use strict; use warnings; while() { my ($colA, $colB, $colC,$colD) = unpack "A19A15A7A45"; $colC = "N/A" if $colC eq "XYZ" and $colD =~ /Region/; print "$colA -- $colB -- $colC -- $colD\n"; } __DATA__ ValuesInColumn1 DataColumnB XYZ RowDescription|RowCode|Supplier ID::Region ValuesInColumn1 DataColumnB XYZ RowDescription|RowCode|Supplier ID::Region ValuesInColumn1 DataColumnB XYZ RowDescription|RowCode|Supplier ID::Region ValuesInColumn1 DataColumnB XYZ RowDescription at RowCode ValuesInColumn1 DataColumnB ABC RowDescription at RowCode