use strict;
use warnings;
my $path='D:\npodev\forms\src';
my @intervalos= ("[a-e]", "[f-h]", "[i-m]", "[n]", "[o-s]", "[t-z]");
my $esquema="RMS_MC";
my $start_flag = '';
my $stop_flag = '';
sub procura_ficheiros{
my ($path,$intervalo)=@_;
opendir(DIR, $path) ||die "$!";
my @files=grep{/^$intervalo.*\.[f|m]/i} readdir(DIR);
closedir (DIR);
my $aux=0;
foreach my $pos (@files){
$files[$aux]="\t\"".$path."\\".$files[$aux]."\""." $esquema\n";
$aux++;
}
return @files;
}
foreach my $intervalo (@intervalos){
my @ola=procura_ficheiros($path,$intervalo);
my $replacement = join "", @ola;
open ORIGINAL, "< teste.txt"
or die "can't open original file\n";
my $original;
{
local $/;
$original = ;
}
close ORIGINAL;
$original =~ s/
$start_flag
.*?
(\s*)
$stop_flag
\n
/$start_flag\n$replacement$1$stop_flag/gsx;
open COPY, "> copy.txt"
or die "can't write to copy\n";
print COPY $original;
close COPY;
system "hello.bat";
}