use strict; use Fcntl ':flock'; my $iniFile = 'config.ini'; if (open my $ini, "+<$iniFile"){ if (flock $ini, LOCK_EX){ my @data = <$ini>; # Work with @data -- delete lines, update lines, etc. if (truncate($ini, 0) and seek($ini, 0, 0)){ print "Can't write to $iniFile : $!\n" unless print $ini @data; }else{ print "Can't truncate/seek : $!\n"; } }else{ print "Can't lock : $!\n"; } close $ini; }else{ print "Can't open $iniFile : $!\n"; }