zoukankan      html  css  js  c++  java
  • 程序文件一行空行引发的血案

    这两天朋友几篇文章介绍了改程序文件的文章. 关联文章的地址

        原代码如下:

    #!/usr/bin/perl
    
    use File::Path ;
    $\="\n";
    
    my $cfg="clr.cfg";
    open (mycfg,$cfg) or die "open $cfg error![$!]";
    
    while(<mycfg>)
    {
        chomp;
        &chk_file();
    }
    
    close(mycfg);
    
    sub chk_file
    {
        $_=$ENV{"HOME"}.$_;
        if (-f )
        {
            &unlink_file();
        }
        if (-d )
        {
            &unlink_path();
        }
        return 0;
    }
    
    sub unlink_path
    {
        chomp;
        my $path=$_;
        chdir $path or die "chdir error![$!]";
    
        opendir(myfile,$path) or die "find $path error![$!]";
    
        foreach (readdir myfile)
        {
            next if $_ eq "." or $_ eq "..";
            rmtree($_) if -d;
            unlink ;
        }
    
        closedir(myfile);
        rmdir $path;
        mkdir $path;
        return 0;
    }
    
    sub unlink_file
    {
        unlink or die "remove $_ error![$!]";
        return 0;
    }
        每日一道理
    站在历史的海岸漫溯那一道道历史沟渠:楚大夫沉吟泽畔,九死不悔;魏武帝扬鞭东指,壮心不已;陶渊明悠然南山,饮酒采菊……他们选择了永恒,纵然谄媚诬蔑视听,也不随其流扬其波,这是执著的选择;纵然马革裹尸,魂归狼烟,也要仰天长笑,这是豪壮的选择;纵然一身清苦,终日难饱,也愿怡然自乐,躬耕陇亩,这是高雅的选择。在一番选择中,帝王将相成其盖世伟业,贤士迁客成其千古文章。

        config文件如下:

    /tmp/

        执行结果是:

        家目录下所有文件文件夹全体被删除!

        包含脚本本身,所以似乎原脚本不是这样的...

        o(︶︿︶)o 唉。。。堪比电锯惊魂啊,关键是在公司的开发机上执行的,大家半年的血汗就没了,程序倒是有备份,但是有的头文件什么的,全体丧失。

        记下这次教训,提示自己,还太年轻,做事不谨慎,平常也没做好备份任务,这是对自己和其他同事的不负责任。

        

        备注:自己配置cfg文件时其实也主意到了哪行空行,但是完全没有想到它带来的结果,还抱着碰运气的心态,想看看程序碰到空行会怎么办....程序太不谨严了。记下此事件,警钟长命。

    文章结束给大家分享下程序员的一些笑话语录: 女人篇
      有的女人就是Windows虽然很优秀,但是安全隐患太大。
      有的女人就是MFC她条件很好,然而不是谁都能玩的起。
      有的女人就是C#长的很漂亮,但是家务活不行。
      有的女人就是C++,她会默默的为你做很多的事情。
      有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
      有的女人就是SQL,她会为你的发展带来莫大的帮助。

  • 相关阅读:
    [转]ios 判断左右摆动方法与 摇一摇
    UIButton 使用大全
    疑问:xcode中为什么按钮被图片覆盖了,还能响应事件?
    iOS base64 加密解密 通用类
    new BMKMapPoint[index] 和 delete []points 报错
    Xcode 中 如果不自动设置字体大小,则系统默认为17号
    UILabel 详解
    BMKMapView 和 BMKSearch 初始化先后顺序问题
    使用ASIFormDataRequset类 获取webservice 接口数据
    实现 scrollview 默认显示指定的页码
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3085984.html
Copyright © 2011-2022 走看看