找到 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 = 'abcd@gmail.com'; $cc = 'efgh@mail.com'; $from = 'webmaster@yourdomain.com'; $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 = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $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 = 'abcd@gmail.com'; $from = 'webmaster@yourdomain.com'; $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

236 次浏览

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

221 次浏览

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

广告
© . All rights reserved.