複数単語の文字列項目 (配列に格納されている) をテキスト ファイル内の正規表現として複数回照合したいと考えています。また、一致したアイテムをキーとして、出現回数を値として (理想的には値でソートされた) ハッシュを作成したいと思います。これが私がこれまでに持っているものです:
アイテムが一致するテキスト ファイルを読み込みます。
open(FILE, "<file.txt") or die "cannot open file for reading: $!";
local $/ = undef;
my $inputfile = <FILE>;
close FILE;
複数単語の配列をループし、各項目を正規表現に変換してから、正規表現を照合して$inputfile
出現のハッシュを作成します。
foreach my $mwe (@mwelist) {
my $mweregex = quotemeta($mwe);
foreach ($inputfile =~ /($mweregex)/g) {
#print STDOUT "$1\n\n";
$mweinputfile{$mwe}++;
}
}
@mwelist
それぞれ 2 語以上の文字列項目を含む配列です。
現在、コードは機能していません。print コマンドのコメントを外すと、シェルに空行 (空行のみ、スペースなし) が表示されます。
指摘/修正/提案に感謝します。
入力データの行の例を次に示します (上記の file.txt)。
Sehr geehrter Herr Geißler, meine sehr geehrten Damen und Herren nicht nur hier im Saal sondern auch an den Bildschirmen! Wir möchte gern die Diskussion über die Schnellfahrstrecke Wendlingen-Ulm – und Herr Geißler, um auch da für Klarheit zu sorgen: Wenn wir von Neubaustrecke または Schnellfahrstrecke reden, meinen wir dasselbe – diese Diskussion möchte ich mit einem uberblick beginnen, der Sie darüber warum wir diese Schnellfahrstrecke vorsehen, was der verkehrliche Vorteil und der verkehrliche Nutzen ist, und darüber hinaus natürlich soll ein uberblick gegeben werden, warum sie genau so geplant und ausgeführt wird, wie sie hier dargestellt ist.
からのいくつかの例を次に示し@mwelist
ます。
...
gewissem Sinneで
ゲヴィッセン・フェルレンで
gewiß nicht
das weiß ich ganz gewiß
...