perl - perl grep 匹配来自哈希表的键
问题描述
我正在处理 Perl 中的哈希。
我使用以下语句来检查变量是否与哈希表中的键匹配。该语句已经评估为真。所以 grep 工作。但是我现在如何检索匹配的哈希键和值?
if ( grep {/.*$var1*/} keys %my_hash ) {
#print the key and value that results from the grep?
}
解决方案
您可以在条件中提取所有匹配的键:
if (my @matches = grep /.*$var1*/, keys %my_hash) {
my @values = @my_hash{@matches};
}
还有,/.*$var1*/
很奇怪。您是否要将最后的星号应用于变量中最后出现的任何内容?此外,.*
如果没有/g
: ,则在开始时使用/$var1*/
不会起作用(并且可能更快)。
推荐阅读
- autodesk-forge - Forge Viewer 的 TypeScript 定义缺少 getFragmentProxy
- rabbitmq - RabbitMq,添加队列中不存在的值
- excel - 运行时错误 5 - 保存到共享驱动器时
- android - 如何在动态功能模块中包含 AAR?
- javascript - javascript中的不可变对象保存文件
- python - 回归模型的 K 折交叉验证指标
- count - 我将查找西澳大利亚珀斯的两条道路上的交通流量。我已经尝试了几个网站,但到目前为止没有运气
- open-policy-agent - 使用 Rego 根据另一个列表验证列表的每个元素
- rust - 如何将大型 impl 拆分为多个文件?
- c++ - 可变参数模板,谁是对的?GCC 还是 Clang?