#!/usr/bin/perl -w
use strict;

use Futils qw( NL );

my($f)         = Futils->new();
my(@opts)      = qw/ --files-only --with-paths /;
my($rindir)    = '../htdocs';
my($sfromfile) = './searchpat';
my($rfromfile) = './replacewith';
my($rstr)      = $f->load_file($rfromfile);
my($spat)      = quotemeta($f->load_file($sfromfile)); $spat = qr/$spat/;

my(@files)  = $f->list_dir($rindir, @opts);

foreach (@files) {

   print(q[Skipped binary file ] . $_ . NL) and next if $f->isbin($_);

   my($sbt) = 0;

   my($file) = $f->load_file($_);

   $file =~ s/$spat/++$sbt;$rstr/ge;

   $f->write_file('file' => $_, 'content' => $file);

   print(qq[$sbt substitutions in $_] . NL);
}

print(q[Done.] . NL . NL);