如何在 Perl 中使用格式?
为了在 Perl 脚本中调用格式声明,我们将使用 write 关键字 −
write EMPLOYEE;
问题在于格式名称通常是一个打开的文件处理程序的名称,而 write 语句将把输出发送到这个文件处理程序。由于我们希望将数据发送到 STDOUT,因此我们必须将 EMPLOYEE 与 STDOUT 文件处理程序关联起来。然而,首先我们必须使用 select() 函数确保 STDOUT 是我们选定的文件处理程序。
select(STDOUT);
然后,我们可以通过使用特殊变量 $~ 或 $FORMAT_NAME 将新格式名称与 STDOUT 关联,如下所示 −
$~ = "EMPLOYEE";
当我们现在执行 write() 时,数据将被发送到 STDOUT。请记住:如果您要将报告写入 STDOUT 以外的任何其他文件处理程序,则可以使用 select() 函数选择该文件处理程序,其余逻辑将保持不变。
示例
我们来看下面的例子。这里我们硬编码了一些值只是为了展示用法。在实际使用中,您将从文件或数据库中读取值来生成实际报告,您可能需要将最终报告再次写入文件。
#!/usr/bin/perl
format EMPLOYEE =
===================================
@<<<<<<<<<<<<<<<<<<<<<< @<<
$name $age
@#####.##
$salary
===================================
.
select(STDOUT);
$~ = EMPLOYEE;
@n = ("Ali", "Raza", "Jaffer");
@a = (20,30, 40);
@s = (2000.00, 2500.00, 4000.000);
$i = 0;
foreach (@n) {
$name = $_;
$age = $a[$i];
$salary = $s[$i++];
write;
}输出
执行后,这将产生以下结果 −
=================================== Ali 20 2000.00 =================================== =================================== Raza 30 2500.00 =================================== =================================== Jaffer 40 4000.00 ===================================
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP