Perl语言的文字处理模式之二(转)
Perl语言的文字处理模式之二(转)[@more@]二、文字处理模式(RegularExpression)的简单范例 看了上一小节文字处理模式〈RegularExpression)之后,初学者对于这个语法的应用可能 还不是很清楚,所以笔者会在这一小节中,举出一些在文字处理模式中常用的范例给大家瞧瞧: 范例说明:/perl/ 找到含有perl的字符串 /^perl/ 找到开头是perl的字符串/perl$/ 找到结尾是perl的字符串 /c|g|i/ 找到含有c或g或i的字符串 /cg{2,4}i/ 找到c后面跟着2个到4个g,再跟着i的字符串 /cg{2}i/ 找到c后面跟着2个g,再跟着i的字符串 /cg*i/ 找到c后面跟着0个或多
Perl语言的文字处理模式之一(转)
Perl语言的文字处理模式之一(转)[@more@]Perl语言的文字处理模式(Regular Expression) 如果在Unix中曾经使用过sde、awk、grep这些指令的话,相信对于Perl语言中的文字处理模式(Regular Expression) 应该不会感到陌生才对。在Perl语言中因为有这个功能,所以对于字符串的处理能力是非常强有力的。Regular Expression可视为用来处理字符串的一种模式(pattern),其使用的格式为/pattern/。在Perl语言的程序设计中,经常可以看得到类似语法的应用,在CGI程序设计中也不例外。只要能够善用文字处理模式的话,要处理任何难的字 符串皆可迎刃而解,在
本地调试PERL CGI程序(转)
本地调试PERL CGI程序(转)[@more@]要在自己的平台上调试PERL CGI程序,以中文Win98为例,需要做以下几项工作: 1. 安装、设置TCP/IP协议 2. 安装、设置Web服务器 3. 安装PERL for Win32 详细介绍各个步骤: 一、安装、设置TCP/IP协议 如果您已经可以通过拔号正确连上Internet,这说明你的TCP/IP已经正确安装,不过你还得耐心看下去哟!进入“控制面板”,双击“网络”图标,出现“网络”的对话框,这里已经安装了TCP/IP。假设TCP/IP不存在,要添加它,只需单击“添加”按钮,选择“协议” 后单击“添加”按钮,请选择
PERL对象编程基础(转)
PERL对象编程基础(转)[@more@][日记文]PERL面象对象编程基础----引用(指针)[BASIC PART I]writer:demonalexemail:demonalex_at_hacker.com.cn此文的内容是PERL对象编程的基础,希望各位能弄懂。━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━首先说说引用(reference),它有点类似C的指针,看看下面例子:------------------------#!usr/bin/perl -w#c: est4.pl$a='aaa'; #定义变量$a,附入值为字符串aaa$b=$a; #定义变量$b,其值为变量$a的地址print"$b "; #打印$b到STDOUTexit 1; #退
perl常问问题集--第七篇(转)
perl常问问题集--第七篇(转)[@more@]我的 CGI script可在指令列下执行但无法从浏览器执行。您能不能帮我修修看? 当然,但您恐怕付不起雇我们的签约金 说真的,如果您能够先证明您已读过下列这几个 FAQs ,但遇到的问题并不单纯、非叁言两语即可回答的话,那麽您 post到 comp.infosystems.www.authoring.cgi上(如果是有关 HTTP 、 HTML ,或 CGI通信协定)的问题可能也会得到口气和缓而有用的答覆。表面上看似 Perl,但骨子里是 CGI之类的问题,如果 post到 comp.lang.perl.misc人家可能就不会这麽乐意地接受了。 几个实用的 FAQs 分别是
perl常问问题集--第四篇(转)
perl常问问题集--第四篇(转)[@more@]我该如何使用正规表示式才不至於写出不合语法且难以维护的程式码? 以下提供叁个技巧使得你的正规表示式易懂又好维护。 在正规表示式外围作注解。 用 Perl的注解方式描述你所作的事以及你如何作到它。 #把每行变成「第一个字、冒号,和剩馀的字元数」这样的格式。 s/^(w+)(.*)/ lc($1) . ":" . length($2) /ge; 在正规表示式内部作注解。 /x修饰子会要直译器忽略正规表示式内的任意空白 (在特定字元类别 [character class]中例外),同时也让你在式子中使用平常的注解方法。你应该能想像得到, 加上一些空
perl常问问题集--第三篇(转)
perl常问问题集--第三篇(转)[@more@]我如何作 (任何事)? 你到 CPAN(见 perlfa)找过了吗?也许别人已经写了某个模组可以解决你的 问题。你查过相关的说明文件了吗 (man pages)?以下是一份概要的索引: 物件 (Objects) perlref, perlmod, perlobj, perltie 资料结构 (Data Structures) perlref, perllol, perldsc 模组 (Modules) perlmod, perlmodlib, perlsub 正规表示法 (Regexps) perlre, perlfunc, perlop 升级至 Perl5 (Moving to perl5) perltrap, perl 与 C连结 (Linking w/C) perlxstut, perlxs, perlcall, perlguts, perlembed 杂项
sort,map的特別用法(转)
sort,map的特別用法(转)[@more@]下面這種用法不常見,但是很多高手都會用
Perl程序与c程序速度的比较(转)
Perl程序与c程序速度的比较(转)[@more@]上次powerplane 提到了perl程序速度与c程序速度的问题,我特意做了如下测试,结论,速度由快->慢 为:c程序, perl编译为2进制,perl程序。c程序是最快的。将perl程序编译以后运行,速度会有提升,但是还是不太另人满意。(本结论只限于本类或相关的处理任务,其他方面的速度,没有测试。)环境:SunOS usrbj 5.7 Generic_106541-18 sun4u sparc SUNW,Ultra-804 X The sparcv9 processor operates at 400 MHzThis is perl, version 5.005_03 built for sun4-solaris第一个例子:Squid代理日志里,时
一個用Perl分析Apache Log的簡單程序(转)
一個用Perl分析Apache Log的簡單程序(转)[@more@]發信用的Email..會將純文字的文件寄送出去...[code:1:f7e3ae6c10]#!/usr/bin/perl#---------------------------------------------------------------#fileName: mail_perl:發送測試用的Email#---------------------------------------------------------------use Mail::Sender;## 幫助Debug使用use Carp();local $SIG{__WARN__} = &Carp::cluck;## 將Standard Error儲存至檔案open(STDERR,">>/tmp/mail_err.log");#local($to,$subject,$filename,$from,$server_ip,$replyto) =
perl script for scan TCP ports .(转)
perl script for scan TCP ports .(转)[@more@]A simple perl script that scans a machine for reachable TCP ports.[code:1:d7df680c80]#!/usr/bin/perl$|=1;$tghost = shift || $ENV{"HOSTNAME"};$maxprt = shift || 1024;$AF_INET=2;$SOCK_STREAM=1;$sockaddr='S n a4 x8';($name,$aliases,$proto)=getprotobyname('tcp');foreach $port (1 .. $maxprt){($name,$aliases,$type,$len,$thataddr)=gethostbyname($tghost);$this=pack($sockaddr,$AF_INET,0,$thisaddr);$that=pack($sockaddr,$AF_INET,$port,$thataddr);die "unknown host
Perl 中的正则表达式(转)
Perl 中的正则表达式(转)[@more@]原文出自:[url]http://263.aka.org.cn/Lectures/002/Lecture-2.1.2/perl-reg.html[/url]感谢AKA及作者。[code:1:a3e33d1336]9 Perl 中的正则表达式正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果大家能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在 CGI 程序设计中就更能得心应手了。下面我们列出一些正则表达式书写时的一些基本语法规则。------------------------------
Perl的NT安装实验报告(转)
Perl的NT安装实验报告(转)[@more@]包括3块:Perl for Win32 Build 316Perl for ISAPI Build 316(如果要写CGI)PerlScript Build 316(如果要写ASP)文件都不大, 别搞错了运行平台就行了,接下来先安装 Perl for Win32下载的pw32i316是自解压文件, 解开后会自动执行一个批处理文件进行安装.安装的界面是个命令行的交互程序, 全文记录如下...This install script assumes that you have unpacked Perl for Win32 into the final intended destination directory.Do you wish to proceed? [Y/n] yperldir = C:PerlWed Jul 22 15:08:04 1998Install
在winnt/win9x下用blat发email的示例(转)
在winnt/win9x下用blat发email的示例(转)[@more@]## 步骤:## A.安装blat.# 1.下载blat .( http://gepasi.dbs.aber.ac.uk/softw/Blat.html )# 2. 解压到一个目录,如 e:usrbinblat## B.调试本程序.# ### 配置信件内容 ##$blat_prog="e:usrinlatlat.exe"; #指定blat.exe路径$server="smtp.263.net";$from="sirbowl@263.net";$to="sirbo@263.net";$subject="hi,this is sent from blat.exe !";$body="this is body!!!!";###### 配置完成 ########$file=""; #一般为空$temp_files_path="."; #一般为空##############($errcode,$output) = &a
用sendmail发送HTML格式的邮件(转)
用sendmail发送HTML格式的邮件(转)[@more@]先将来自HTML页面的数据解码,再调用unix系统sendmail命令即可。例如下:#!/usr/local/bin/perl#&readparse;print "Content-type: text/htmlnn";##********* BEGIN BODY********************#******** END BODY************************## EACH VALUE IN THE HTML FORM WILL BE CONTAINED IN# THE THE @VALUE ARRAY.sub readparse {read(STDIN,$user_string,$ENV{'CONTENT_LENGTH'});if (length($ENV{'QUERY_STRING'})>0) {$user_string=$ENV{'QUERY_STRING'}};$user_string =~ s/+/ /g;@
用perl作的ftp(转)
用perl作的ftp(转)[@more@]#!/usr/local/bin/perl################################################################## I found this script at http://www.terminalp.com# it was written by a guy named Jeff who sold the domain and# disappeared. I deleted the original header to save space# so I am distributing this as is. If Jeff sees this, please# email me at dreun@eskimo.com!! Thanks, Ron Hagerman#################################################################BEGIN {$SAVE_DIRECTORY = "/your/literal/path
提高Linux上小型数据库的速度(转)
提高Linux上小型数据库的速度(转)[@more@]摘要:这篇文章将展示如何用RAMDISK来提高PostgreSQL数据库的访问速度.介绍Okay, 什么是RAMDISK?我们如何用它来提高数据库server的响应速度?Ramdisk就是说用作于硬盘空间的内存。无论什么时候你使用Ramdisk,实际上你是在使用内存而不是硬盘。在这一点上既有优点又有缺点。最基本的,最大的优点是你是在使用内存,你所做的一切都会快一些,因为硬盘的速度较内存慢。最大的缺点是如果你改变了数据库服务器的内容并且重新启动机器时,所做的一切改动都将丢失。对于数据库Server PostgreSQL来说, 如果
保持Oracle数据优良性能的若干诀窍(转)
保持Oracle数据优良性能的若干诀窍(转)[@more@]作者:宗丽英如今,Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的问题,笔者建议不妨针对以下几个方面加以考虑。分区根据实际经验,在一个大数据库中,数据库空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态地将表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能
Apache加装模块(转)
Apache加装模块(转)[@more@]Apache安装好后,有时需要加一些模块的.可以不重新编译整个Apache,而单独编译一个模块,方法如下:/usr/local/apache2/bin/apxs -c -i /usr/local/src/httpd-2.0.52/modules/generators/mod_cgi.c再修改/usr/local/apache2/conf/httpd.confLoadModule cgi_module modules/mod_cgi.so再重启一下Apache/usr/local/apache2/bin/apachectl restar
理解和使用Oracle 8i分析工具-LogMiner(转)
理解和使用Oracle 8i分析工具-LogMiner(转)[@more@]Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。该工具特别适用于调试、审计或者回退某个特定的事务。 LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图(Oracle8i内置包的一部分)组成,它作为Oracle数据库的一部分来发布,是8i产品提供的