#!/usr/bin/perl use strict; use warnings; use File::Find; my $base = '/var/www/noc/calendarsPostCalendars'; my $s1 = 'POSTCALENDARN'; my $s2 = 'POSTCALENDARS'; my $s3 = 'postcalendarn_'; my $s4 = 'postcalendars_'; my $s5 = 'PostCalendarn'; my $s6 = 'PostCalendars'; find(\&wanted, $base); sub wanted { if ((-f $File::Find::name) && ($File::Find::name !~ m/\.bak/)) { my $file = $File::Find::name; my $file_old = $file . '.bak'; rename($file, $file_old); open(IN, $file_old) or die($!); open(OUT, '>' . $file) or die($!); while () { s/$s1/$s2/; s/$s3/$s4/; s/$s5/$s6/; print OUT $_; } close(OUT); close(IN); } }