-1
私は2つのファイルを持っています。最初は、各行の言葉XMLファイル内の単語のテキストファイルを検索して追加します
bus do car
car tree
の配列を有する第二のファイルはXMLファイルです
<title>i have a car. i take bus..</title>
私は、XMLファイル内の各単語のテキストファイルを検索したいです。見つかった場合は、表示されているテキストファイルからすべての行を挿入し、スペースはすべてx
に置き換えます。
結果ファイルが
<title>i have a car busxdoxcar carxtree. i take bus busxdoxcar..</title>
だろう、私はこの
use strict;
use warnings;
use autodie;
my $QueryFile = "query.txt";
my $SequenceFile = "Seq_2_terms_150.txt";
my %hashlist;
open NewQueryFile ,">./NewQuery.txt"
or die "Cannot create NewQuery.txt";
open(my $fh,$SequenceFile)
or die "$SequenceFile : $!";
while (<$fh>) {
chop;
s/^\s+|\s+$//g;
my $h = \%hashlist;
foreach (split('\s+', $_)) {
$h->{$_} //= {};
$h = $h->{$_};
}
$h->{'#'} = 1;
}
close $fh;
open(my $fd, $QueryFile)
or die "$QueryFile : $!";
for my $xml (<$fd>) {
foreach my $line (split(/\n/, $xml)) {
my @words = split(/\s/, $line);
if $words = @hashlist[$_] {
print NewQueryFile join ('x',$words) ;
}
}
}
close NewQueryFile ;
close($fd);
if $ words = @hashlist [$ _] 'はバグです。何をしようとしていますか? – xxfelixxx
なぜあなたは '$ h = $ h - > {$ _}'をしますか? – xxfelixxx
xmlファイル内の単語がハッシュリストに存在するかどうか確認したい – nicha