#!/usr/bin/perl use strict; use warnings; open(IN, "<:encoding(UTF-8)", "in.txt") or die "Can't open input file: $!"; open(OUT, ">:encoding(UTF-8)", "out.txt") or die "Can't open output file: $!"; while () { s/([^\t]*)\t([^\t]*)\1([^\t]*)\t/\t$2$1$3\t/; print OUT $_; } close IN; close OUT; print "Replacements done"; ;