dup_name("$name") :返回字符串,
$rules->:在散列rules中找到上面返回的字符串为key对应的value,该value做为一个数组的名字。
push @{$rules->}, ""; :在该数组中push一个空值(""中为空值,如果里面有其他值的话,就将""中的值push到该数组中了)。
这句的整体的数据结构就是在散列rules中定义了若干的名字(key),每个名字对应一个数组名(value),在程序运行时可以将值动态的push到指定的数组中
请参考
操作符的工作原理即使你知道了我想也没有什么帮助...
比如push,就是在数组所在的空间多申请一个空间,把你的字符放进去。push和shift就区别都是指针的问题了。
我们的子函数也能当操作符用。
我没太能理解你问题的意思...
类型声明可以实现push pop sub my_push (\@@) {} 之类的。不过不推荐使用,引用就完全可以满足需求了