急急急急!怎样用perl提取文件里特定的内容

急急急急!怎样用perl提取文件里特定的内容,第1张

类似下面的写法,先提取出来,之后直接写入文件

my $H

open $H, "+>", "out.log"

while (<DATA>) {

if (/\/translation="(.*?)"/) {

print $1, "\n"

print $H "$1\n"

}

}

close $H

__DATA__

/aa=123

/bb=456

/translation="MMMDDD"

/aa=123

/bb=456

/translation="MMMDDD"

/aa=123

/bb=456

/translation="MMMDDD"

use strict

&findfile

sub findfile

{

    my $some_dir = "c:/tmp/a"

    

    opendir(my $dh, $some_dir) || die "Can't open $some_dir: $!"

    while (my $fn = readdir $dh) {

        next if ($fn eq '.')         # 跳过两个系统目录

        next if ($fn eq '..')

        next if ($fn =~ /^~/)         # 看情况是否需要跳过其它文件

        next if (!($fn =~ /\.txt$/))

        

        print "正在分析文件[$fn]\n"

        &check_file("$some_dir\/$fn")  # 依次检查每一个文件

    }

    closedir $dh

}

sub checkfile

{

    my $fn = shift

    open FILE, "<$fn"

    

    foreach my $line (<FILE>)

    {

        chop($line)

        next if ($line !~ /^检测/)        # 跳过不是“检测”两字开头的行

        

        if ($line =~ /# (.*V) #/)          # 判断是否有"# xxxV #" 字样的字符串

        {

            #如果有,则$1的内容为上面小括号的内容,如“3.27V”

            my $data = $1

            # 然后你想将$data放哪?

            print "[$data]\n"

        }

    }

    close FILE

        

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12017705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存