找到 157 篇文章 关于 Perl

如何在 Perl 中使用格式?

Mohd Mohtashim
更新于 2019-11-29 10:04:54

164 次浏览

为了在 Perl 脚本中调用格式声明,我们将使用 write 关键字 - write EMPLOYEE;问题是格式名称通常是打开的文件句柄的名称,write 语句会将输出发送到此文件句柄。由于我们希望数据发送到 STDOUT,因此我们必须将 EMPLOYEE 与 STDOUT 文件句柄关联。首先,我们必须确保 STDOUT 是我们选择的文件句柄,使用 select() 函数。select(STDOUT);然后,我们将使用特殊变量 $~ 或 $FORMAT_NAME 将 EMPLOYEE 与 STDOUT 关联,并将新格式名称设置为 ... 阅读更多

Perl 中函数的引用

Mohd Mohtashim
更新于 2019-11-29 09:59:08

148 次浏览

在使用 Perl 脚本时,如果需要创建信号处理程序,可能会发生这种情况,因此您可以通过在函数名称前加上 \& 来生成对函数的引用,并且要取消引用该引用,您只需要使用与号 & 作为引用变量的前缀即可。以下是一个示例 - 示例 实时演示#!/usr/bin/perl # 函数定义 sub PrintHash {    my (%hash) = @_;    foreach $item (%hash) {       print "Item : $item";    } } %hash = ('name' => 'Tom', 'age' => 19); # 创建对上述函数的引用。 $cref = \&PrintHash; # 使用 ... 阅读更多

如何在 Perl 中定义格式?

Mohd Mohtashim
更新于 2019-11-29 10:01:08

95 次浏览

Perl 使用称为“格式”的写入模板来输出报表。要使用 Perl 的格式功能,您必须首先定义一个格式,然后您可以使用该格式来写入格式化数据。语法以下是定义 Perl 格式的语法 - format FormatName = fieldline value_one, value_two, value_three fieldline value_one, value_two .这里 FormatName 表示格式的名称。fieldline 是数据应如何格式化的特定方式。values 行表示将输入字段行的值。您用一个句点结束格式。下一个 fieldline 可以包含任何文本或字段占位符。 ... 阅读更多

Perl 中的循环引用

Mohd Mohtashim
更新于 2019-11-29 07:19:21

255 次浏览

Perl 中的循环引用是指两个引用相互包含对方引用的情况。在创建引用时必须小心,否则循环引用会导致内存泄漏。以下是一个示例 - 示例 实时演示#!/usr/bin/perl my $foo = 100; $foo = \$foo; print "Value of foo is : ", $$foo, "";输出当执行上述程序时,会产生以下结果 - Value of foo is : REF(0x9aae38)

Perl 中的取消引用

Mohd Mohtashim
更新于 2019-11-29 07:16:39

1K+ 次浏览

Perl 中的取消引用返回对该位置的引用点的值。要取消引用引用,只需使用 $、@ 或 % 作为引用变量的前缀,具体取决于引用是指向标量、数组还是哈希。以下示例说明了该概念 - 示例 实时演示#!/usr/bin/perl $var = 10; # 现在 $r 对 $var 标量有引用。 $r = \$var; # 打印存储在 $r 中的位置上的可用值。 print "Value of $var is : ", $$r, ""; @var = (1, 2, 3); # 现在 $r 对 ... 阅读更多

在 Perl 中创建引用

Mohd Mohtashim
更新于 2019-11-29 07:13:32

130 次浏览

Perl 引用是一种标量数据类型,它保存另一个值的地址,该值可以是标量、数组或哈希。由于其标量特性,引用可以在任何可以使用标量的地方使用。通过在任何变量、子程序或值前加上反斜杠,可以轻松地为其创建引用,如下所示 - $scalarref = \$foo; $arrayref = \@ARGV; $hashref = \%ENV; $coderef = \&handler; $globref = \*foo;无法使用反斜杠运算符在 I/O 句柄(文件句柄或目录句柄)上创建引用,但可以使用 ... 阅读更多

Perl 中的子程序调用上下文

Mohd Mohtashim
更新于 2019-11-29 07:07:35

207 次浏览

Perl 子程序或语句的上下文定义为预期的返回值类型。这允许您使用单个函数根据用户期望接收的内容返回不同的值。例如,以下 localtime() 在标量上下文中调用时返回字符串,但在列表上下文中调用时返回列表。my $datestring = localtime( time );在此示例中,$timestr 的值现在是当前日期和时间组成的字符串,例如,Thu Nov 30 15:21:33 2000。相反 - ($sec, $min, ... 阅读更多

Perl 中使用 state() 的状态变量

Mohd Mohtashim
更新于 2019-11-29 07:06:24

686 次浏览

Perl 中还有另一种类型的词法变量,它类似于私有变量,但它们会保持其状态,并且在多次调用子程序时不会重新初始化。这些变量使用 state 运算符定义,从 Perl 5.9.4 开始可用。示例让我们检查以下示例以演示状态变量的使用 -  实时演示#!/usr/bin/perl use feature 'state'; sub PrintCount {    state $count = 0; # 初始值    print "Value of counter is $count";    $count++; } for (1..5) {    PrintCount(); }输出当执行上述程序时,会产生以下结果 - Value ... 阅读更多

Perl 中使用 local() 的临时值

Mohd Mohtashim
更新于 2019-11-29 07:03:34

212 次浏览

local 主要用于当变量的当前值必须对 Perl 中调用的子程序可见时。Perl local 只是为全局(表示包)变量提供临时值。这被称为动态作用域。词法作用域使用 my 完成,其工作方式更类似于 C 的 auto 声明如果向 local 提供多个变量或表达式,则必须将它们放在括号中。此运算符的工作原理是将其参数列表中这些变量的当前值保存在隐藏的堆栈上,并在退出块、子程序或 eval 时恢复它们。示例让我们检查以下示例 ... 阅读更多

Perl 中子程序中的私有变量

Mohd Mohtashim
更新于 2019-11-29 07:01:28

436 次浏览

默认情况下,Perl 中的所有变量都是全局变量,这意味着可以从程序中的任何位置访问它们。但是,您可以随时使用 my 运算符创建称为词法变量的私有变量。my 运算符将变量限制在可以使用和访问的特定代码区域。在此区域之外,无法使用或访问此变量。此区域称为其作用域。词法作用域通常是一段代码块,周围有一组大括号,例如定义子程序体的大括号或标记代码的大括号 ... 阅读更多

广告