找到 449 篇文章,关于编程脚本

使用 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 = 'Test Email'; $message = 'This is test email sent by Perl Script'; 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 "Email Sent Successfully";

使用 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 = 'Test Email'; $message = 'This is test email sent by Perl Script'; 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 = "The time is: 12:31:02 on 4/12/00"; $string =~ /:\s+/g; ($time) = ($string =~ /\G(\d+:\d+:\d+)/); $string =~ /.+\s+/g; ($date) = ($string =~ m{\G(\d+/\d+/\d+)}); print "Time: $time, Date: $date"; 当以上程序执行时,它会产生以下结果 - Time: 12:31:02, Date: 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

610 次浏览

转换类似于,但并不完全相同于 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: $first, Last: $last"; 当以上程序执行时,它会产生以下结果 - First: foo, Last: footbrdige

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 "First time is matching";    } else {    print "First time is not matching"; } $bar = "foo"; if ($bar =~ /foo/) {    print "Second time is matching";    } else {    print "Second time is not matching"; } 当以上程序执行时, ... 阅读更多

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$^ 当前选定输出通道的当前页面顶部的格式的名称。 ... 阅读更多

广告