找到 157 篇文章 关于 Perl

Perl 中的对象和类是什么?

Mohd Mohtashim
更新于 2019-11-29 12:18:19

122 次浏览

从 Perl 如何处理对象的角度解释了三个主要术语。这些术语是对象、类和方法。Perl 中的**对象**仅仅是对知道其所属类的某种数据类型的引用。对象作为标量变量中的引用存储。因为标量只包含对对象的引用,所以同一个标量可以在不同的类中保存不同的对象。Perl 中的**类**是一个包含创建和操作对象所需相应方法的包。Perl 中的**方法**是一个用包定义的子例程。第一个参数为…… 阅读更多

使用 Perl 发送带有附件的电子邮件

Mohd Mohtashim
更新于 2019-11-29 12:15:51

2K+ 次浏览

如果您想使用 Perl 发送带有附件的电子邮件,则以下脚本可以实现此目的 −#!/usr/bin/perl use MIME::Lite; $to = '[email protected]'; $cc = '[email protected]'; $from = '[email protected]'; $subject = '测试邮件'; $message = '这是 Perl 脚本发送的测试邮件'; $msg = MIME::Lite-=>new(    From => $from,    To => $to,    Cc => $cc,    Subject => $subject,    Type => 'multipart/mixed' ); # 添加文本消息。 $msg->attach(    Type => 'text',    Data => $message ); # 指定文件作为附件。 $msg->attach(Type => 'image/gif',    Path => '/tmp/logo.gif',    Filename => 'logo.gif', ... 阅读更多

使用 Perl 发送 HTML 消息

Mohd Mohtashim
更新于 2019-11-29 12:14:02

569 次浏览

如果您想使用 sendmail 发送 HTML 格式的电子邮件,则只需在电子邮件的标题部分添加 Content-type: text/html,如下所示 −#!/usr/bin/perl $to = '[email protected]'; $from = '[email protected]'; $subject = '测试邮件'; $message = '这是 Perl 脚本发送的测试邮件'; open(MAIL, "|/usr/sbin/sendmail -t"); # 电子邮件标题 print MAIL "To: $to"; print MAIL "From: $from"; print MAIL "Subject: $subject"; print MAIL "Content-type: text/html"; # 电子邮件正文 print MAIL $message; close(MAIL); print "邮件发送成功";

使用 Perl 发送纯文本消息

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

260 次浏览

如果您在 Linux/Unix 机器上工作,则可以在 Perl 程序中简单地使用 sendmail 实用程序来发送电子邮件。这是一个可以将电子邮件发送到给定电子邮件 ID 的示例脚本。只需确保 sendmail 实用程序的给定路径正确即可。这在您的 Linux/Unix 机器上可能有所不同。#!/usr/bin/perl $to = '[email protected]'; $from = '[email protected]'; $subject = '测试邮件'; $message = '这是 Perl 脚本发送的测试邮件'; open(MAIL, "|/usr/sbin/sendmail -t"); # 电子邮件标题 print MAIL "To: $to"; print MAIL "From: $from"; print MAIL "Subject: $subject"; # 电子邮件正文 print MAIL $message; close(MAIL); ... 阅读更多

Perl 中的 \G 断言

Mohd Mohtashim
更新于 2019-11-29 12:10:09

275 次浏览

Perl 中的 \G 断言允许您从上次匹配发生的位置继续搜索。例如,在以下代码中,我们使用了 \G,以便我们可以搜索到正确的位置,然后提取一些信息,而无需创建更复杂的单个正则表达式 −示例 实时演示 #!/usr/bin/perl $string = "时间是:12:31:02,日期是 4/12/00"; $string =~ /:\s+/g; ($time) = ($string =~ /\G(\d+:\d+:\d+)/); $string =~ /.+\s+/g; ($date) = ($string =~ m{\G(\d+/\d+/\d+)}); print "时间:$time,日期:$date";当执行上述程序时,它会产生以下结果 −时间:12:31:02,日期:4/12/00\G 断言是…… 阅读更多

Perl 中的分组匹配

Mohd Mohtashim
更新于 2019-11-29 12:07:15

2K+ 次浏览

从 Perl 中正则表达式的角度来看,以下两个表达式之间没有区别,只是前者稍微清晰一些。$string =~ /(\S+)\s+(\S+)/; 和 $string =~ /\S+\s+\S+/;但是,分组的好处是它允许我们从正则表达式中提取序列。分组按其在原始表达式中出现的顺序返回为列表。例如,在以下片段中,我们从字符串中提取了小时、分钟和秒。my ($hours, $minutes, $seconds) = ($time =~ m/(\d+):(\d+):(\d+)/);除了这种直接方法外,匹配的分组也可以在…… 阅读更多

Perl 中的匹配边界和选择备选方案

Mohd Mohtashim
更新于 2019-11-29 12:04:17

237 次浏览

Perl 中的匹配边界 \b 在 Perl 中的任何单词边界处匹配,由 \w 类和 \W 类之间的差异定义。因为 \w 包括单词的字符,而 \W 包括相反的字符,所以这通常意味着单词的终止。\B 断言匹配任何不是单词边界的位置。例如 −/\bcat\b/ # 匹配 'the cat sat' 但不匹配 'cat on the mat' /\Bcat\B/ # 匹配 'verification' 但不匹配 'the cat on the mat' /\bcat\B/ # 匹配 'catatonic' 但不匹配 'polecat' /\Bcat\b/ # 匹配 'polecat' 但不匹配 'catatonic'Perl 中的选择备选方案 | 字符就像…… 阅读更多

Perl 中的转换运算符

Mohd Mohtashim
更新于 2019-11-29 12:03:02

609 次浏览

转换类似于 Perl 中的替换原则,但并不完全相同,但与替换不同,转换(或音译)不使用正则表达式来搜索替换值。转换运算符为 −tr/SEARCHLIST/REPLACEMENTLIST/cds y/SEARCHLIST/REPLACEMENTLIST/cds转换将 SEARCHLIST 中字符的所有出现替换为 REPLACEMENTLIST 中对应的字符。例如,使用我们在本章中一直使用的字符串 "The cat sat on the mat." −示例 实时演示 #/user/bin/perl $string = 'The cat sat on the mat'; $string =~ tr/a/o/; print "$string";当执行上述程序时,它会产生以下结果 −The cot sot on the mot.标准 Perl…… 阅读更多

Perl 中的替换运算符

Mohd Mohtashim
更新于 2019-11-29 12:00:43

3K+ 次浏览

Perl 中的替换运算符 s/// 实际上只是匹配运算符的扩展,它允许您将匹配的文本替换为一些新文本。运算符的基本形式为 −s/PATTERN/REPLACEMENT/;PATTERN 是我们要查找的文本的正则表达式。REPLACEMENT 是我们要用来替换找到的文本的文本或正则表达式的规范。例如,我们可以使用以下正则表达式将所有出现的 dog 替换为 cat −示例 实时演示 #/user/bin/perl $string = "The cat sat on the mat"; $string =~ s/cat/dog/; print "$string";当执行上述程序…… 阅读更多

Perl 中只匹配一次

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

222 次浏览

Perl 中有一个更简单的匹配运算符 - ?PATTERN? 运算符。这与 m// 运算符基本相同,只是它只在每次调用重置之间的搜索字符串中匹配一次。例如,您可以使用它来获取列表中的第一个和最后一个元素 −示例 实时演示 #!/usr/bin/perl @list = qw/food foosball subeo footnote terfoot canic footbrdige/; foreach (@list) {    $first = $1 if /(foo.*?)/;    $last = $1 if /(foo.*)/; } print "第一个:$first,最后一个:$last";当执行上述程序时,它会产生以下结果 −第一个:foo,最后一个:footbrdige

广告