对于我的工作,我有时必须处理来自二进制协议的日志文件(日志文件包含消息的十六进制转储)。我想编写一个 Perl 脚本,它可以为我解释二进制数据并以更友好的格式打印内容。
我有一个专有格式的协议消息的(机器可读)描述,并且我(大部分)弄清楚了如何解析该格式(我无法完全理解的部分与我的目标无关,所以我可以忽略它们),因此我可以将描述转换为数据结构以在我的脚本中使用。
因为协议描述很少改变,每次我想分析一个日志文件时重新解析协议描述似乎是一种浪费,但另一方面,如果描述确实改变了,或者我不小心丢弃了我的预解析表单描述,那么我希望我的脚本自动触发对描述的重新解析。
实现这一点的最佳方法是什么?