- Perl 基础知识
- Perl - 主页
- Perl - 简介
- Perl - 环境
- Perl - 语法概述
- Perl - 数据类型
- Perl - 变量
- Perl - 标量
- Perl - 数组
- Perl - 哈希
- Perl - IF...ELSE
- Perl - 循环
- Perl - 运算符
- Perl - 日期和时间
- Perl - 子例程
- Perl - 参考资料
- Perl - 格式
- Perl - 文件 I/O
- Perl - 目录
- Perl - 错误处理
- Perl - 特殊变量
- Perl - 编码标准
- Perl - 正则表达式
- Perl - 发送电子邮件
- Perl 高级
- Perl - 套接字编程
- Perl - 面向对象
- Perl - 数据库访问
- Perl - CGI 编程
- Perl - 包和模块
- Perl - 流程管理
- Perl - 嵌入式文档
- Perl - 函数参考
- Perl 有用资源
- Perl - 问题与解答
- Perl - 快速指南
- Perl - 有用的资源
- Perl - 讨论
Perl 领带函数
描述
该函数将 VARIABLE 与提供变量类型实现的包类 CLASSNAME 联系起来。LIST 中的任何其他参数都会传递给整个类的构造函数。通常用于将哈希变量绑定到 DBM 数据库。
句法
以下是该函数的简单语法 -
tie VARIABLE, CLASSNAME, LIST
返回值
该函数返回对绑定对象的引用。
例子
以下是显示其基本用法的示例代码,/tmp 目录中只有两个文件 -
#!/usr/bin/perl -w package MyArray; sub TIEARRAY { print "TYING\n"; bless []; } sub DESTROY { print "DESTROYING\n"; } sub STORE { my ($self, $index, $value ) = @_; print "STORING $value at index $index\n"; $self[$index] = $value; } sub FETCH { my ($self, $index ) = @_; print "FETCHING the value at index $index\n"; return $self[$index]; } package main; $object = tie @x, MyArray; #@x is now a MyArray array; print "object is a ", ref($object), "\n"; $x[0] = 'This is test'; #this will call STORE(); print $x[0], "\n"; #this will call FETCH(); print $object->FETCH(0), "\n"; untie @x #now @x is a normal array again.
执行上述代码时,会产生以下结果 -
TYING object is a MyArray STORING This is test at index 0 FETCHING the value at index 0 This is test FETCHING the value at index 0 This is test DESTROYING
当调用 tie 函数时,实际发生的是调用 FileOwner 中的 TIESCALAR 方法,并将“.bash_profile”作为参数传递给该方法。这将返回一个对象,该对象通过绑定与 $profile 变量关联。
当打印语句中使用 $profile 时,将调用 FETCH 方法。当您为 $profile 赋值时,将调用 STORE 方法,并将“mcslp”作为该方法的参数。如果您能遵循这一点,那么您就可以创建绑定标量、数组和哈希,因为它们都遵循相同的基本模型。现在让我们检查新 FileOwner 类的详细信息,从 TIESCALAR 方法开始 -
perl_function_references.htm