分类目录归档:编程

关于perl6的若干问题?

20年磨一剑,在perl人艰苦卓绝的努力下,perl 6终于在2016年圣诞节推出了正式版本V6.c版本(c代表圣诞节)。 期间几度波折,很多事情也都发生了。比如,perl6 最先成型的pogs版本主程台湾大牛唐宗汉易性为唐凤,另IT界叹为观止。

20年积累了宇宙巨能的perl6究竟有啥黑科技?本文借自perl6官方的faq,翻译成中文,以帮助我们揭开perl6的潘多拉宝盒。

笔者计划一项perl6doc中文化的项目,这篇文章为perl6doc中文化的第一个成果,如果有什么纰漏和错误,请帮助我指出 。另外有志于学习perl6和参与项目的同仁也大大的欢迎哦。

项目的地址为https://github.com/bollwarm/perl6doc

继续阅读

生信单行脚本

Basic awk & sed

提取文件中的2, 4, and 5 列:

输出第五列等于abc123的行:

输出第五列不是abc123的行:

输出第七列以字母a-f开头的行:

输出第七列不是以字母a-f开头的行:

计算第二列不重复的值保存在哈希arr中 (一个值只保存一次):

输出第三列的值比第五列大的行:

继续阅读

网站目录防篡改程序,perl web目录md5文件验证

有时候站点,有bug,很容易会被人修改,添加其他乱七八糟的东西,针对这类问题,常见的做法:1、修改升级程序漏洞。2、用WAF主动防御(用第三方免费cdn,也提供这类防御)。

这儿介绍第三种方法(如果网站固定文件不变的情况下)
网站部署好后,通过对站点所有文件的计算MD5值,并保存在一个文件中。然后以后可以手动或者crontab,监控程序等定期对保存文件中的文件生成md5值和已有的md5值对比,如果发现值对不上,则说明文件被篡改了。

继续阅读

利用 Schwartzian Transform(施瓦茨变换) 进行排序

Schwartzian Transform(施瓦茨变换) 是perl中一种高效的排序算法 ,详见http://en.wikipedia.org/wiki/Schwartzian_transform
在平时工作中,会有非常复杂的排序需求,比如,对文件所有的含有/RE/的行,按第一列升序,再按第二列降序排,…
诸如此类的排序,利用施瓦茨变换可以事半功倍。
施瓦茨变换的一般格式如下:

继续阅读

perl 实现打印匹配模式行及上下行的操作

这个可能用的着,在看日志时候,比如搜索tomcat 错误日志的时候
1、perl One-liner实现

实现原理:把每一行保存在一个数组@b里,把匹配的行号保存在素组@a里,然后在END模块打印出来

2、perl脚本实现

保存为xx.pl 然后chmod u+x xx.pl
./xx.pl RE file