我有一个全局定义的哈希引用,其值在添加后永远不会改变。因此,子程序不会修改散列,只会访问它。
我应该将哈希引用传递给将使用其值的子例程,还是子例程应该引用全局变量本身?
此外,为了可读性,为子例程中定义的散列的相关值设置一个缩放器变量可能是不好的做法(以避免长 $hash_ref->{"abc"} 语法,而是使用 $abc)?
谢谢。我问是因为我想避免会导致我的代码变得困惑和冗余的事情。
最佳答案
它没有什么区别。
全局数据的全局变量(文件范围的词法)是完全可以接受的。
关于perl - 如果全局变量不会改变,是否应该将它们作为参数传递给子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16798538/