
Perl
webdoes
更多最新技术总结尽在http://www.webdoes.com
2011.10至今在腾讯科技任web开发工程师,目前负责QZone的触屏业务web前端开发
展开
-
perl中LWP模块的使用
很久没发贴了,今天发个帖子,专门介绍下LWP模块常用的功能。(1)最重要的一大功能是查看网页源文件,我们可以通过perl已有的方法查看网页源文件,然后可以进行适当的分析,得到自己想要的结果。perl脚本如下: #!/usr/local/bin/perluse CGI qw(:all);use LWP;open (AIM,">F:/SFDA的源代码") or die $!;my原创 2009-10-13 14:56:00 · 1912 阅读 · 0 评论 -
文件改名的Perl
#! perlprint "说明如下:下面的程序是把seq转化为txt文件。/n";print "请输入您要修改的文件所在的目录:/n";my $dir = ;chomp $dir;opendir(DIR,$dir) or die $!;while($file = readdir(DIR)){ if($file =~ //.seq/i){ $oldName = $原创 2009-12-15 12:15:00 · 1185 阅读 · 0 评论 -
正则表达式的元字符
^ $ ( ) / | @ [ { ? . + *还有非常重要的#,如果在正则中有出现#,也需要进行转义。 这些元字符,如果在需要进行匹配的时候, 必须要加上/进行转义。原创 2010-03-02 10:19:00 · 889 阅读 · 0 评论 -
perl下载处理二进制数据(如tiff格式图片)的方法
perl对于文本的处理功能非常强大。而对于二进制流数据,比如图片,pdf等数据,我不太了解。今天把我项目中用到的perl代码列出来,供大家参考。该项目任务是这样的,需求如下:(1)从html中解析出下载地址,这个地址有很多个,从1-400不等。(2)下载该地址,得到对应的图片数据,写入到本地中。(3)然后把所有下载完后的tiff先合并为1个tiff,然后转化tiff为pdf。(原创 2010-03-03 11:27:00 · 2339 阅读 · 0 评论 -
常用Perl命令
如果系统中装了Perl环境,就可以通过如E:/perl/bin下面的lwp-request命令获取任何网址的源代码。也比较方便。如果想把www.163.com的源代码写到某个文件,比如file.txt,就可以在命令行下输入:lwp-request "www.163.com" > file.txt打开一个文本文件,可以直接输入notepad file.txt,如果想重命名: move原创 2009-12-26 16:45:00 · 752 阅读 · 0 评论 -
perl连接查询mysql
使用perl的语法如下:#!C:/perl/bin/perluse CGI qw(:standard);use Mysql;print header();#Import the CGI parameters into the $Q structureimport_names();#Connect to Andrews MySQL server at Napier Un转载 2010-04-14 10:06:00 · 1350 阅读 · 0 评论 -
大批量高效插入数据库的方法
昨天碰到了一个问题,在进行数据插入的时候,过几分钟,程序自动退出,刚开始以为是数据库的设置问题,或者是由于数据插入速度过快,连接丢失的原因。于是我采用sleep(1)的方式让线程终止1秒钟后在进行插入。结果依然存在。非常困惑,在考虑问题到底出在哪。 今天使用-w进行警告提示的时候,发现提示sysopen权限的问题,说无法写入。我就很奇怪了,莫非在File::S原创 2010-04-26 14:28:00 · 1493 阅读 · 0 评论 -
perl高效插入数据库中的源过程!
今天上午把昨天晚上碰到的问题终于解决了,而且实现了高效的数据插入,每秒插入数据库的记录初略估计接近100条。感觉很棒!昨晚没有打开警告,-w没有填写,退出的原因是由于记录id的文本,可能由于同时的读写,在读的时候,文件上锁,而这个时候在写入的时候,就发生了权限问题。write_file()方法有问题。今天查询了该模块,突然发现有个函数:overwrite_file(),实现了该功能。可原创 2010-04-26 14:30:00 · 1206 阅读 · 0 评论 -
使用perl 把某个文件移动到其他的文件夹目录下。
可以使用use File::Copy;中间的move()方法,或者使用rename();参考代码如下:#! perluse Switch;# use File::Copy;my $dir = "F:/www/tmp/20000/";opendir DIR,$dir or die $!;while(my $file = readdir(DIR)){ #原创 2010-04-27 14:46:00 · 5316 阅读 · 0 评论 -
taint模式然我损失了几个小时
接着上午的错误说,在EPIC中,如果选择了“Enable taint mode”,会出现很多错误。这些出错主要是:关于安全性的问题。什么是taint模式?类似与在perl脚本的第一行写了-T或者-t。就是:Taint checking http://www252.pair.com/comdog/mastering_perl/Chapters/taint-check原创 2009-11-28 14:56:00 · 1292 阅读 · 0 评论 -
基于Eclipse的Perl的IDE软件EPIC出现Insecure dependency in open while running with -T switch错误!
今天写了一个非常简单的批量写入文件的代码:#!/bin/env perl use strict;use warnings;my $dir = "c:/";open(AIM,"<c:/1.txt") or die $!;my @aim = ;close AIM;print @aim;foreach my $temp (@aim){ chomp $temp;原创 2009-11-28 13:22:00 · 3182 阅读 · 0 评论 -
perl中sprintf函数的使用方法。
对于某些字符串,需要输入为特定的格式,通过sprintf可以很方便的完成,不需要专门进行其他处理。perl中的sprintf的用法如下:sprintf FORMAT, LIST 比如:$result = sprintf("%08d",$number);让$number有8个前导零。 $rounded = sprintf("%.3f",$numbe原创 2009-10-15 10:17:00 · 53139 阅读 · 0 评论 -
Perl匹配中文
单日志页面显示设置 关闭 网易首页网易博客 博客首页博客拍拍精美风格博客圈子博客活动娱乐中心博客话题找 朋 友博客复制手机博客短信写博意见反馈原创 2009-11-13 19:05:00 · 8097 阅读 · 0 评论 -
/x无法显示一般的空格匹配!
#! perluse strict;my $test = "Fulltext atpublisher";if($test =~ /Full text at publisher/ix){ print "match!";}else{ print "/x无法显示空格的匹配";} 很明显的看到,如果$test中有空格,就会值得加上/x的模式无法进行匹配。这里想原创 2009-11-18 15:49:00 · 692 阅读 · 0 评论 -
perl的正则表达式中的元字符(需要转义)
最近老是对哪些字符需要转义,心中不明确,比如有时候在点加上/用以匹配,或者"前加上/进行匹配,甚至>或者 就无形中增加了正则表达式的可阅读性。今天正好总结下,到底哪些需要进行转义: perl中的元字符如下: ^ 表示一行的开头;$ 表示一行的结尾;( ) 表示一个匹配块的,可以对匹配上的块通过$1,$2...进行读取,但是无法原创 2009-11-18 16:48:00 · 9094 阅读 · 1 评论 -
Perl中LWP模块的使用
下面是一段用来提取http://www3.interscience.wiley.com/journal/68503385/abstract网址源代码的perl脚本。问题在于,它是一个转向的地址。如果你缺少一句,可就无能为力了。我今天花了一天的时间,总算是知道问题出在哪了。就少了$browser->cookie_jar({});这句代码是让请求发送的时候,带上cookie,就能获得原创 2009-11-20 19:08:00 · 1127 阅读 · 0 评论 -
Perl模块的手动安装
在其他论坛看了很多关于Perl模块的安装,其实有时候很容易出现安装失败。尤其是在WINDOWS上,比如可以使用CPAN,PPM等工具方式。在命令行中输入CPAN, 弹出CPAN> ,然后可以输入INSTALL 模块名,比如我要安装LWP::UserAgent::ProxyAny输入install LWP::UserAgent::ProxyAny,可是经常会有错误,这个方式非常麻烦。原创 2009-11-21 16:52:00 · 4553 阅读 · 1 评论 -
Perl正则表达式的灵活应用
见如下代码: use strict;use warnings;my @email = (mailto: abc@163.com , Email:msong/at/yonsei.ac.k>);foreach(@email){ if($_ =~ /(?:(?:mailto:/s*)|(?:Email:/s*))([^<>/s]+)/i) { print原创 2009-11-25 18:03:00 · 845 阅读 · 0 评论 -
正则表达式
正则表达式之元字符: .匹配除/n外的任意一个字符 /转义符正则表达式之量词: {3} 匹配前一单元的三个 *?{0, }? 匹配前一单元的零个或多个 +?{1, }? 匹配前一单元的一个或多个 ??{0,1}? 匹配前一单元的零个或一个 * {0, } 匹配前一单转载 2010-01-20 12:44:00 · 922 阅读 · 0 评论 -
perl正则表达式,文件读取常用方法
好久没有写perl脚本了,最近电脑上面有《prison break》的音频,也有srt的歌词,不过歌词不对,最后进行下面的脚本处理后,可以变听变看字幕了。主要是用来复习下perl脚本,正则表达式,文件读取,循环,条件等#! /usr/bin/perl #print 'done';# my $file = '<E:\Prison Break1\Prison Break - 1x0原创 2012-01-11 00:18:21 · 2221 阅读 · 0 评论