私はperlスクリプトの初心者です。私は2つのファイルを持っています。私は内容を行ごとに比較し、一致するものを削除したい。 2つ目のファイルの複数の行に一致するように1つのファイルにワイルドカードを使用すると、複数の一致が削除され、残りのファイルが別のファイルに書き込まれます。私はワイルドカードの世話をしない別の郵便からちょっと手に入れましたファイルの内容を比較するためのperlコード
use strict;
use warnings;
$\="\n";
open my $FILE, "<", "file.txt" or die "Can't open file.txt: $!";
my %Set = map {$_ => undef} <$FILE>;
open my $FORBIDDEN, "<", "forbidden.txt" or die "Can't open forbidden.txt: $!";
my %Forbidden = map {$_ => undef} <$FORBIDDEN>;
open my $OUT, '>', 'output' or die $!;
my %Result = %Set; # make a copy
delete $Result{$_} for keys %Forbidden;
print $OUT keys %Result
http://www.perlmonks.org/?node_id=1163469 – choroba
'forbidden.txt'に除外パターンを提供しようとしていますか?または、このファイルの内容を順番に適用する必要がありますか? 'grep'の仕事のように見えます。 –
「ワイルドカード」とはどういう意味ですか?一致しない信号(;ラインなし1) E:一致しない信号(; FILE2.TXT E一致しない信号(ラインなし* ):私は何をする必要があるか –
choroba