#!/usr/bin/perl # https://perlmonks.org/?node_id=1231482 use strict; use warnings; while() { chomp; my ($colA, $colB, $colC, $colD) = split /\s{2,}/; $colD =~ /Region/ and $colC =~ s{^XYZ\z}{N/A}; use Data::Dump 'dd'; dd $colA, $colB, $colC, $colD; } __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