sub replace_in_file { my $file=shift; my $regexp=shift; my $replace=shift; my $txt=eval{local(@ARGV,$/)=($file); <>} or die("ERROR Load $file ($@)\n"); $txt=~s/$regexp/&$replace/eg; open(my $fh, >, $file) or die("ERROR write $file ($!)") print $fh $txt; close($fh); } replace_in_file("${PATH}/etc/inittab",qr/remount,ro,noatime/,sub{return 'remount,rw,noatime'});