将元数据与函数关联起来非常有用。
例如,在Web框架中,页面请求通常由控制器中的函数处理。
在其他地方,指定了URL和函数之间的映射。
能够写下这样的东西是非常有用的:
<message
from='chatRoom@se.dev.openfire'
to='userA@dev.openfire'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite from='userB@dev.openfire'>
<reason>
Hey UserA, this is the place for all good witches!
</reason>
</invite>
<password>xyz</password>
</x>
</message>
这样做的好处是:
我只是好奇:
答案 0 :(得分:4)
我确实遇到过多次这种用例,例如将描述和帮助文本相关联或使用“命令处理程序”子解析信息。人们采取了许多方法,但我采用的方法是使用子程序属性。我编写了一个完整的CPAN模块Attribute::Storage
,以帮助声明和访问内容。
例如(直接引用模块文档),您可以安排为命令处理程序提供如下元数据:
sub do_copy
:Description(Copy from SOURCE to DESTINATION)
:Description(Optionally preserves attributes)
:Argument("SOURCE")
:Argument("DESTINATION")
:Option("attrs")
:Option("verbose")
{
...
}