找到 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 = '测试邮件'; $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 = "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 "第一次匹配";    } 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$^ 当前选择的输出通道的当前页首格式的名称。... 阅读更多

广告