• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlでの比較について)

Perlでの比較について

このQ&Aのポイント
  • Perlを使用して、文字列の一致を判定する方法について教えてください。
  • 文字列全一覧とテキストファイル内の文字列を比較し、完全一致、完全不一致、部分一致を判定したいです。
  • 数千個の文字列を含む文字列全一覧と数百個のテキストファイルがあります。どのテキストファイルの文字列が文字列全一覧に含まれているかを判定したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.1

perl xxxxx.pl *.txt 以下のプログラムは、文字列一覧ファイルをスクリプト内で、テキストファイルを上記のように引数として与えるように書いてあります。 use strict; my %check; open IN, "xxxxx.dat" or die "Can't open: $!"; while (my $line = <IN>) { chomp $line; $check{$line} = 1; } close IN; my ($match, $unmatch) = (0, 0); while (my $line = <>) { chomp $line; exists $check{$line} ? ++$match : ++$unmatch; if (eof) { my $judge = ($match and !$unmatch) ? "完全一致" : ($match and $unmatch) ? "部分一致" : "完全不一致"; print "$ARGV: $judge\n"; ($match, $unmatch) = (0, 0); } }

yasaiumaiumai
質問者

お礼

テキストファイルを逆に指定していました!! できました!!! ありがとうございました!!

yasaiumaiumai
質問者

補足

上記の構文ありがとうございました!!! 部分一致、完全不一致は正しく動作しましたが、完全一致のみ正しく動作しません。 ご教授いただけないでしょうか(涙)