找到 157 篇文章 关于 Perl

Perl 中的匹配运算符

Mohd Mohtashim
更新于 2019-11-29 11:57:31

1K+ 次浏览

Perl 中的匹配运算符 m// 用于将字符串或语句与正则表达式匹配。例如,要将字符序列“foo”与标量 $bar 匹配,可以使用如下语句:示例 在线演示#!/usr/bin/perl $bar = "This is foo and again foo"; if ($bar =~ /foo/) {    print "第一次匹配";    } else {    print "第一次不匹配"; } $bar = "foo"; if ($bar =~ /foo/) {    print "第二次匹配";    } else {    print "第二次不匹配"; }当执行上述程序时,… 阅读更多

Perl 中的文件句柄特殊变量

Mohd Mohtashim
更新于 2019-11-29 11:55:01

197 次浏览

Perl 中有各种与文件句柄相关的特殊变量。我们已在下面的表格中列出了它们:$|如果设置为非零值,则在当前选择的输出通道上的每次写入或打印后强制执行 fflush(3)。$OUTPUT_AUTOFLUSH$%当前选择的输出通道的当前页码。$FORMAT_PAGE_NUMBER$=当前选择的输出通道的当前页长(可打印行)。默认为 60。$FORMAT_LINES_PER_PAGE$-当前选择的输出通道页面上剩余的行数$FORMAT_LINES_LEFT$~当前选择的输出通道的当前报表格式的名称。默认为文件句柄的名称。$FORMAT_NAME$^当前选择的输出通道的当前页首格式的名称…… 阅读更多

Perl 中的正则表达式特殊变量

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

633 次浏览

Perl 中有各种正则表达式特殊变量。我们已在下面的表格中列出了它们:$digit包含上次匹配模式中相应括号集匹配的文本。例如,$1 匹配先前正则表达式中第一组括号中包含的内容。$&上次成功模式匹配匹配的字符串。$MATCH$`上次成功模式匹配之前匹配的字符串。$PREMATCH$'上次成功模式匹配之后匹配的字符串。$POSTMATCH$+上次搜索模式匹配的最后一个括号。如果您不知道哪个…… 阅读更多

Perl 中的全局特殊变量类型

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

321 次浏览

Perl 中有各种全局特殊变量。我们已根据其用法和性质将它们列在不同的块中:全局数组特殊变量@ARGV包含用于脚本的命令行参数的数组。@INC包含要查找 Perl 脚本以由 do、require 或 use 结构进行评估的位置列表的数组。@F当给出 -a 命令行开关时,输入行被分割到的数组。全局哈希特殊变量%INC包含每个已通过 do 或 require 包含的文件的文件名的条目。%ENV包含您当前环境的哈希。%SIG用于设置信号的哈希…… 阅读更多

Perl 中的 confess 函数

Mohd Mohtashim
更新于 2019-11-29 11:49:28

1K+ 次浏览

Perl 中的 confess 函数类似于 cluck;它调用 die,然后打印一直到原始脚本的堆栈跟踪。package T; require Exporter; @ISA = qw/Exporter/; @EXPORT = qw/function/; use Carp; sub function {    confess "Error in module!"; } 1;当从如下脚本调用时:−use T; function();它将产生以下结果:−Error in module! at T.pm line 9    T::function() called at test.pl line 4

Perl 中的 croak 函数

Mohd Mohtashim
更新于 2019-11-29 11:47:44

3K+ 次浏览

Perl 中的 croak 函数等效于 die,只是它向上报告一个级别的调用者。与 die 一样,此函数还在向 STDERR 报告错误后退出脚本:−package T; require Exporter; @ISA = qw/Exporter/; @EXPORT = qw/function/; use Carp; sub function {    croak "Error in module!"; } 1;当从如下脚本调用时:−use T; function();它将产生以下结果:−Error in module! at test.pl line 4与 carp 一样,关于根据 warn 和 die 函数包含行和文件信息的基本规则适用。

Perl 中的 cluck 函数

Mohd Mohtashim
更新于 2019-11-29 11:46:36

814 次浏览

Perl 中的 cluck 函数是一种增强的 carp,它遵循相同的基本原理,但也打印导致调用该函数的所有模块的堆栈跟踪,包括有关原始脚本的信息。package T; require Exporter; @ISA = qw/Exporter/; @EXPORT = qw/function/; use Carp qw(cluck); sub function {    cluck "Error in module!"; } 1;当从如下脚本调用时:−use T; function();它将产生以下结果:−Error in module! at T.pm line 9    T::function() called at test.pl line 4

Perl 中的 carp 函数

Mohd Mohtashim
更新于 2019-11-29 11:44:40

911 次浏览

Perl 中的 carp 函数基本上等效于 warn,它将消息打印到 STDERR,而不会实际退出脚本并打印脚本名称。package T; require Exporter; @ISA = qw/Exporter/; @EXPORT = qw/function/; use Carp; sub function {    carp "Error in module!"; } 1;当从如下脚本调用时:−use T; function();它将产生以下结果:−Error in module! at test.pl line 4

Perl 模块中的错误

Mohd Mohtashim
更新于 2019-11-29 11:42:46

149 次浏览

在使用 Perl 编程时,我们应该能够处理两种不同的情况:报告模块中的错误,该错误引用模块的文件名和行号 - 这在调试模块时很有用,或者当您特别想要引发与模块相关的错误而不是与脚本相关的错误时。报告模块中引用的调用者信息的错误,以便您可以调试导致错误的脚本中的行。以这种方式引发的错误对最终用户很有用,因为它们突出了与调用脚本的原始行相关的错误。warn 和 die…… 阅读更多

Perl 中的 unless & die 函数

Mohd Mohtashim
更新于 2019-11-29 11:41:22

902 次浏览

Perl 中的 unless 函数与 if 的逻辑相反:语句可以完全绕过成功状态,并且仅在表达式返回 false 时才执行。例如:−unless(chdir("/etc")) {    die "Error: Can't change directory - $!"; }unless 语句最好用于当您只想在表达式失败时引发错误或替代方案时。当在一行语句中使用时,该语句也有意义:−die "Error: Can't change directory!: $!" unless(chdir("/etc"));这里,只有在 chdir 操作失败时我们才会 die。die 函数die 函数的工作方式与 warn 类似,只是它还会调用 exit。在…… 阅读更多

广告