带有Tie ::名称空间的perl模块的共同思想是什么?

时间:2019-02-13 08:57:36

标签: perl naming tie

在CPAN上有很多带有sqlcmd -S 10.11.20.181,5001 -i C:\myBackupScript.sql –U login_name –P password 命名空间的模块-Tie::HashTie::SubTie::CacheTie::DBI等。它们之间有什么共同点?

我检查了perltie,但不确定我是否清楚这个概念。有人可以解释吗?

2 个答案:

答案 0 :(得分:9)

Tie ::名称空间中的模块分为两类:

  • 那些实现了可以将变量绑定到的类的人(例如Tie::DBI),并且
  • 可帮助用户建立此类课程的人(例如Tie::Hash)。

tie允许对象使用变量的接口。从绑定变量中读取时,实际上是在调用一种方法来检索信息。写入绑定变量时,实际上是在使用信息调用方法。

例如,让我们看一下与Tie :: DBI关联的哈希。

  • 列出哈希键时,将调用一个方法,该方法将获取数据库表每一行的主键。
  • 获取哈希元素的值时,将调用一个方法,该方法将获取数据库表的指定行。
  • 创建/设置哈希元素的值时,将调用一个方法来创建/设置数据库表指定行的字段。

答案 1 :(得分:3)

它仅涉及绑定哈希,但我的article on perl.com from 2001可能会回答一些问题。