我正在尝试制作一个程序,在其中读取包含一堆文本的文件。然后我取出标点符号,然后读入一个包含停用词的文件。两者都被读入并放入数组中。我正在尝试将通用文本文件的数组放入哈希中。我不确定我做错了什么,但我正在努力。我想这样做,这样我就可以生成关于重复多少单词和不重复单词的统计信息,但我必须去掉停用词等。
无论如何,到目前为止,我已经发表了评论#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;
}