程序文件一行空行引发的血案
这两天朋友几篇文章介绍了改程序文件的文章. 关联文章的地址
原代码如下:
#!/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,她会为你的发展带来莫大的帮助。

浙公网安备 33010602011771号