Perl - 打印下一行

Ada*_*Lee 0 regex perl newline

我是一个noob Perl用户试图尽快完成我的工作,所以我今天可以准时回家:)

基本上我需要在文本文件中打印下一行空白行.

以下是我到目前为止的情况.它可以完美地定位空白行.现在我只需打印下一行.

    open (FOUT, '>>result.txt');

die "File is not available" unless (@ARGV ==1);

open (FIN, $ARGV[0]) or die "Cannot open $ARGV[0]: $!\n";

@rawData=<FIN>;
$count = 0;

foreach $LineVar (@rawData)
    {
        if($_ = ~/^\s*$/)
        {
            print "blank line \n";
                    #I need something HERE!!

        }
        print "$count \n";
        $count++;
    }
close (FOUT);
close (FIN);
Run Code Online (Sandbox Code Playgroud)

谢谢一堆:)

Sto*_*bor 5

open (FOUT, '>>result.txt');

die "File is not available" unless (@ARGV ==1);

open (FIN, $ARGV[0]) or die "Cannot open $ARGV[0]: $!\n";

$count = 0;

while(<FIN>)
{
    if($_ = ~/^\s*$/)
    {
            print "blank line \n";
            count++;
            <FIN>;
            print $_;

    }
    print "$count \n";
    $count++;
}
close (FOUT);
close (FIN);
Run Code Online (Sandbox Code Playgroud)
  • 不读取整个文件到@rawData节省内存,特别是在大文件的情况下...

  • <FIN> 作为命令将下一行读入$ _

  • print ;本身就是它的同义词print $_;(虽然这次我选择了更明确的变体......