#!/usr/bin/perl -w use strict; use warnings; my $file = "data.txt"; local $^I = ".bak"; local @ARGV = ($file); while (<>) { chomp; my @field = split(':'); if ($field[1] =~ s/E/L/g) { print "$field[0]:$field[1]\n"; } elsif ($field[1] =~ s/L/E/g) { print "$field[0]:$field[1]\n"; } else { print "$_\n"; } } unlink("$file.bak"); print "UPDATED!!"; sleep 5; exit(); __DATA__ 1:E 2:L 3:L