#! D:/Program Files/Perl/bin/perl.exe -W
use strict;
my $match_one;
my $match_two;
if(open(SITE_IN, "E:/Projects/Perl/site_inurl.txt") || die "$!")
{
if(open(URL_FILE, "E:/Projects/Perl/url.txt") || die "$!")
{
foreach (<SITE_IN>)
{
if( m{^site:(.+) inurl:/(.+)} )
{
$match_one = $1;
$match_two = $2;
foreach(<URL_FILE>)
{
if( m{$match_one.*$match_two} )
{
print $_;
}
}
}
}
}
}
close(SITE_IN);
close(URL_FILE);
楼主,这是perl的代码,我想肯定比C要简洁多了吧?而且不同人用perl写出来的都不一样。这就是Perl的思想There's More Than One Way To Do It
我的意思是,对于同一种问题,方法很多,我用perl完全可以写出grep,但是grep功能有限,如果要对提取的文本做复杂操作,肯定还要自己写的。但是用Perl代码肯定要比c版简洁很多,perl就是为处理文本而诞生的,C在这方面是不如perl的,当然有c的regex库, pcre,也很好用,甚至是perl本身也是在用这个库.
我06年那会注册这个论坛,当时还是学生,如今是名工程师,潜水N年,见多了这个坛子的浮躁,不是比所谓算法的,就是直接题目,自己写的代码都没有,直接要源码的,要么就是抠字眼,喷人的,我承认我错了,我的知识里没有grep是shell的概念,在我来说任何东西不过是某种语言写出来的而已。
如果要运行本程序,只要下载WIN32的Perl,然后把代码保存成任何格式的文本文件,正统点是.pl, 在CMD里敲perl filename.pl,公司活很忙,就这样了,