Perl - Replacing a file


When I'm in my favorite shell, I carry replacements via:

perl -pi -e 's/lib\/nagios/lib64\/nagios/g' /etc/nagios/nrpe.cfg

I would like to reuse this replacement file, but use a script in Perl, not to run online
And I find it stupid to use a

system ( "perl -pi -e 's/lib\/nagios/lib64\/nagios/g' /etc/nagios/nrpe.cfg ")

how do I do, ideas?


You can use this :

$file = "/etc/nagios/nrpe.cfg";

open (FILE, "<$file");
@lines = <FILE>;
close FILE;
open (STDOUT, ">$file");    
for ( @lines ) {

close STDOUT;


Thanks to Dubcek for this tip.

Ask a question
CCM is a leading international tech website. Our content is written in collaboration with IT experts, under the direction of Jean-François Pillou, founder of CCM reaches more than 50 million unique visitors per month and is available in 11 languages.
This document, titled « Perl - Replacing a file », is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (