#指定の単語が出現する行を取り出す #制作 T. Takahashi #concord.pl #ファイル名の指定 print "開くファイル名を指定してください:"; $open_file = ; print "保存するファイル名を指定してください:"; $save_file = ; #検索する単語の指定 print "入力した単語が含まれる行を抜き出します:"; $word = ; chop($open_file, $save_file, $word); #ファイルのオープン open(F, $open_file) || die "$open_fileをオープンできません:$!\n"; open(F2, ">$save_file") ||die "$save_fileを作成できません:$!\n"; while () { #loci markerと続くスペースを削除 s/<.+>\s+//g; #単語の区切りをピリオドからスペースへ変更 s/\./ /g; #「$word」という単語のみにマッチさせる while ($_ =~ /\b$word\b/g) { @pre = split(/\s+/, $`); @post = split(/\s+/, $'); #入力した単語の前後一語を表示 printf F2 "%20s %s %s\n", $pre[-1], $&, $post[1]; } } #ファイルのクローズ close(F); close(F2);