たくさんのテキストを含むファイルを読み込むプログラムを作成しようとしています。次に、句読点を取り除き、ストップ ワードを含むファイルを読み込みます。どちらも読み込まれ、配列に入れられます。一般的なテキストファイルの配列を入れてハッシュ化しようとしています。何が間違っているのかよくわかりませんが、試しています。これをやりたいのは、繰り返される単語の数と繰り返されない単語の統計を生成できるようにするためですが、ストップワードなどを取り除く必要があります。
とにかく、ここに私がこれまでに持っているものがあります #WORKING ON MERGING ARRAY INTO HASH は私が働いているところです。配列をハッシュに入れようとしている方法が正しいとは思いませんが、オンラインで見て、 %hash{array} = "value"; コンパイルしません。他に方法がわかりません。
ありがとうございます。何か質問があれば、すぐに返信いたします。
#!/usr/bin/perl
use strict;
use warnings;
#Reading in the text file
my $file0="data.txt";
open(my $filehandle0,'<', $file0) || die "Could not open $file0\n";
my@words;
while (my $line = <$filehandle0>){
chomp $line;
my @word = split(/\s+/, $line);
push(@words, @word);
}
for (@words) {
s/[\,|\.|\!|\?|\:|\;]//g;
}
my %words_count; #The code I was told to add in this post.
$words_count{$_}++ for @words;
次に、別の配列にあるストップ ワードを読み取ります。
#Reading in the stopwords file
my $file1 = "stoplist.txt";
open(my $filehandle1, '<',$file1) or die "Could not open $file1\n";
my @stopwords;
while(my $line = <$filehandle1>){
chomp $line;
my @linearray = split(" ", $line);
push(@stopwords, @linearray);
}
for my $w (my @stopwords) {
s/\b\Q$w\E\B//ig;
}