copy($groups_qfn, $backup_qfn) or die("Can't backup $groups_qfn\n"); tie(my @lines, 'Tie::File', $groups_qfn) or die("can not open $groups_qfn: $!\n"); for (@lines) { if (/^$group:/) { $_ = "$newstring\n"; last; } } untie @lines;