typeglob.pm
来自「perl learn perl by examples」· PM 代码 · 共 38 行
PM
38 行
# Using typeglob representation for objects
#
package File;
use Symbol;
sub open {
my ($pkg, $filename) = @_;
$obj = gensym();
open ($obj, $filename) || die "$!";
bless $obj, $pkg;
}
sub put_back {
my ($r_obj, $line) = @_;
${*$r_obj} = $line;
}
sub next_line {
my ($r_obj) = @_;
if (${*$r_obj}) {
$retval = ${*$r_obj};
${*$r_obj} = "";
} else {
$retval = <$r_obj>;
}
$retval;
}
sub DESTROY {
print "DESTROY called \n";
}
1;
package main;
$obj = File->open("typeglob.pm");
print $obj->next_line();
$obj->put_back("------------------------\n");
print $obj->next_line();
print $obj->next_line();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?