Welcome to NEW Inc. Telephone Book Click to view list
Director of OS development Phone number: 123-4567 Fax number: 098-7654
Senior VP of OS research Phone number: 123-4568 Fax number: 098-7655
Welcome to NEW Inc. Telephone Book
Click to view list
Click on a name for more info
$position
';
# 用于临时存放卡片信息的变量(相当于缓冲区)
my $all_info_card;
下面,我们要打开数据文件,当然打开前要检查权限,以保证我们真的能够打开,然后进行数据的读取。读取时,指定文本文件中以“#”开头的行仅作注释之用,不属于被读的内容。在读取数据的过程当中,我们需要做一定的
检查,以保证每个部分的确有数据。在这里,我们把从文件中提取的数据传给两个子过程,它们将返回由这些参数数据所确定的卡片。注意我们使用了Perl的“ .= operator”运算符,它使得子过程返回的字符
串将不断地扩充。实现这段任务的代码如下:
# 读取指定文件中的数据
open(FILE,"$data") || die "Can't open $data: $!\n";
while (
);
return $info_item;
}
它的功能是接收参数数据,并把这些数据插入到一个简单的模板里面。由于我们每次都在增加$id变量的数值,从而保证每个记录都有唯一的id号。这是因为Perl允许我们直接使用 ++ 操作符,使得$id变量的值
从'a'增加到'b'、'c'等进行递增。
另一子过程build_info_card的代码如下:
sub build_info_card {
# 定义用于显示单个职员信息的卡片
my ($name, $phone, $fax, $position) = @_;
my $info_card = qq (
Phone number: $phone
Fax number: $fax
Hello!
Hello!
欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) | Powered by Discuz! 7.2 |