#! perl use strict; use warnings; use Tie::File; my $filename = 'config.txt'; tie my @array, 'Tie::File', $filename or die "Cannot tie file '$filename': $!"; for my $line (@array) { my @fields = split /=/, $line; if ($fields[0] eq 'IPADDR') { $fields[1] = '1.2.3.4'; $line = join '=', @fields; last; } } untie @array;