前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Perl在IC中的应用 | 仿真结果自动通知邮件

Perl在IC中的应用 | 仿真结果自动通知邮件

作者头像
数字芯片社区
发布2022-02-11 08:31:52
1.1K0
发布2022-02-11 08:31:52
举报
文章被收录于专栏:数字芯片

在跑仿真时,尤其是后仿,往往需要耗时很长时间,少则几小时,多则几天,我们不可能一直守在电脑前,因此,设置自动邮件提醒很有必要;

Perl实现一个简单的脚本:

通过搜索仿真sim.log中 FAIL 、ERROR 、PASS等字符,来判断仿真结果,将其记录到report.log中,包括仿真log路径,时间等信息,并实时发送邮件;

代码语言:javascript
复制
#!usr/bin/perl -w
use strict  ;
my $result  ;
my $now = `date +%Y-%m-%d' '%H:%M:%S`;

   check_PASS_or_FAIL();  #搜索
   pwd();          #打印路径
   sendmail();     #发送邮件

sub check_PASS_or_FAIL{
open(OUTFILE, ">report.log");

   if(`grep -P "FAIL|ERROR" ./sim.log`){      
       $result = $now . "FAIL\n"; 
       print OUTFILE ($result);
      }
   elsif(`grep -P "PASS|SUCCESS" ./sim.log`){    
      $result = $now .  "PASS\n"; 
      print OUTFILE ($result);  
   }
   else {
     $result = $now .  "Unknow\n"; 
     print OUTFILE ($result);  
       }
 }  
     
sub pwd{
    system("echo \"\`pwd\`\n\" >>report.log ");
    }
sub sendmail{ 
    system("mail -s \"END\" \"xxx\@xxx.com\" < report.log");
    }

邮件结果:

代码语言:javascript
复制
2022-01-28 18:52:35
PASS
/home/perl/log

Mail扩展知识

“mail test“为邮件内容,test为邮件主题

代码语言:javascript
复制
echo “mail test”|mail -s test xxx@xxx.com 

将file中的内容发送至邮件:

代码语言:javascript
复制
mail -s test xxx@xxx.com< file 

给多个用户发送邮件

代码语言:javascript
复制
mail -s test -c xxx@xxx.com xxx@xxx.com< file 

将file文件内容发送给收件人xxx1@xxx1 并抄送给 xxx2@xxx2 和 xxx3@xxx3

代码语言:javascript
复制
mail -s test -c “xxx2@xxx2 xxx3@xxx3" xxx1@xxx 1< file
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字ICer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Perl实现一个简单的脚本:
  • Mail扩展知识
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档