我需要一些关于如何处理我想用 Perl 编写的脚本的建议。基本上我有一个看起来像这样的文件:
id: 1
Relationship: ""
name: shelby
pet: 1
color:4
有一些关键字,例如 pet 和 color 后面有数字。我希望能够获取一个文件并查找这些关键字(其中有 5 或 6 个),然后将数字更改为该数字对应的单词。也就是说对于关键字“Pet”---> 0 =dog,1 = cat,2 = fish。对于关键字“color”,0 = red, 1=blue,2=purple,3=brown,4=white。该脚本应该找到并更改这些数字。目标应该是一个如下所示的输出文件:
id: 1
Relationship: ""
name: shelby
pet: cat
color:white
一段时间以来,我一直在为如何做到这一点而苦苦挣扎。我在网上查了一下,也许我可以做一些散列数组之类的事情,但我对 Perl 比较陌生,甚至不知道如何解决这个问题……任何建议都将不胜感激!
谢谢
最佳答案
如果我们讨论的是一小组值,您可以使用数组散列:
%lookups = ( pet => [ "dog", "cat", "fish" ],
color => [ "red", "blue", "purple", "brown", "white" ] );
然后,当您阅读文件时,根据散列检查每个关键字。如果它有一个包含该关键字的键,请将您读取的行中的值替换为哈希中的值。
关于Perl 建议 - 接收文件并更改内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100632/