Mein Problem ist, wie mein Skript schnell zu machen (ich benutze große Dateien)Perl: script schnell macht große Datei verwenden
Ich habe das Skript darüber „bbb“ zwischen den Worten hinzufügen, wenn die Worte in einem anderen existieren Datei, die Sequenzen von Wörtern für exemple file2.txt enthalten: i eat big pizza .my big pizza ...
file1.txt (Sequenzen):
eat big pizza
big pizza
das Ergebnis newFile
i eatbbbbigbbbpizza.my bigbbbpizza ...
mein Skript:
use strict;
use warnings;
use autodie;
open Newfile ,">./newfile.txt" or die "Cannot create Newfile.txt";
my %replacement;
my ($f1, $f2) = ('file1.txt', 'file2.txt');
open(my $fh, $f1);
my @seq;
foreach (<$fh>)
{
chomp;
s/^\s+|\s+$//g;
push @seq, $_;
}
close $fh;
@seq = sort bylen @seq;
open($fh, $f2);
foreach (<$fh>) {
foreach my $r (@seq) {
my $t = $r;
$t =~ s/\h+/bbb/g;
s/$r/$t/g;
}
print Newfile ;
}
close $fh;
close Newfile ;
exit 0;
sub bylen {
length($b) <=> length($a);
}