次の形式のファイルが2つあるとします。Perl:別のファイルで指定された形式のファイルを一致させる
はFile1:
username <username>
password <password1>
password <password2>
hello world
File2の:
username hello
password test
password testing
hello world
good luck
私はFile2のがFile1のと同じ形式に従っていることを確認することができるようにしたいです。これは、次の形式のファイルが私のテストで合格できなくなることを意味します。
BADFILE:
username hello
password test
hello world
"パスワード" で始まり、正確に2行がなければなりません。現在、私のプログラムは、 "username"と "password"で始まる行があるかどうかを確認することができます。私は、File1が "password"の同じ開始単語で重複した行を持っているかどうかをチェックすることができないようで、File2が同じ開始語を持つ同じ数の行を持っていることを確認する必要があります。 。すなわち、 BadFileがFile1の形式に従っているかどうかをテストするために、私のプログラムはFile1とBadFileを実行するときにパスを生成します。
"hello"、 "test"、 "testing"のようなキーワードの後には、この項目を保存する必要はありませんが、 "password"で始まる2行を区別できるはずです。私がチェックするために。
「< ...>」のない行もあります。基本的に、それがFile1にあるものはFileN for FileNで見つかるはずです。
私はそれを達成するためにどのようなデータ構造を使用すべきですか?私は配列のハッシュを考えていますが、それは私にとってもこの場合には複雑すぎるようです。
私は「<...>」を持たない「Hello World」のような場合については? – Sakura
尋ねられたようにチェックされます。 – ikegami
テスト済みです。バグを修正しました。 – ikegami