【发布时间】:2012-03-18 16:54:28
【问题描述】:
假设我有 2 个格式如下的文件。
文件1:
username <username>
password <password1>
password <password2>
hello world
文件2:
username hello
password test
password testing
hello world
good luck
我希望能够检查 File2 是否遵循与 File1 相同的格式。这意味着如果一个文件具有以下格式,将无法通过我的测试。
坏文件:
username hello
password test
hello world
必须有 2 行以“密码”开头。目前,我的程序能够检查是否有以“用户名”和“密码”开头的行。我似乎无法检查 File1 是否具有与“密码”相同的起始词的重复行,它还应该检查 File2 是否应具有相同数量的具有相同起始词的行. IE。当我运行 File1 和 BadFile 时,我的程序会生成一个 pass 来测试 BadFile 是否遵循 File1 的格式。
我不需要在关键字之后存储东西(即“hello”、“test”、“testing”在这种情况下),但我应该能够区分有 2 行以“password”开头我去检查。
还有一些行没有“<...>”。基本上,File1 中的任何内容都必须在 FileN 中找到,FileN 才能通过。
知道我应该使用什么数据结构来实现这一目标吗?我正在考虑数组的散列,但对于我和这种情况来说它似乎太复杂了。
【问题讨论】:
标签: arrays string perl file hash