抓取多个文件并打开并打印给其他人

时间:2014-10-27 21:10:12

标签: perl file parsing printing

我有一个非常适合输出到终端的脚本,但我想用最多500个文件输入做同样的事情,并制作500个文件输出。我也想指向一个特定的目录。

我认为这些可能是你在perl中可以做的非常基本的事情,但我刚刚开始。 因此,请将您的答案考虑在内。非常感谢!

这是我到目前为止的代码:

use strict;
use warnings;
use LWP::Simple;

open( my $fh2, "test.txt" ) or die "Could not open file";

while ( my $row = <$fh2> ) {
    chomp $row;
    print "$row\n";
    my $xml1 = $row;
    mkdir 'Html_pages', 0755;
    open my $fh1, ">", "test2.html" or die("Could not open file. $!");

    print $row;
    my $xml2 = get $xml1;
    print $xml1;
    print "\n";
    print $fh1 $xml2;
}

我尝试使用以下代码打开多个文件,但却无法连接这两个文件:

my $calls_dir = "Ask/Parsed/";
opendir( my $search_dir, $calls_dir ) or die "$!\n";
my @files = grep /\.txt$/i, readdir $search_dir;
closedir $search_dir;
print "Got ", scalar @files, " files\n";

#my %seen = ();
foreach my $file (@files) {
    my %seen         = ();
    my $current_file = $calls_dir . $file;
    open my $FILE, '<', $current_file or die "$file: $!\n";
    ...;

所以我想出了如何组合我拥有的两段代码并且它正在工作,但只能正确地编写所有其他文件。这就是我所拥有的:

use strict;
use warnings;
use LWP::Simple;

my $calls_dir = "Ask/Parsed/";
opendir( my $search_dir, $calls_dir ) or die "$!\n";
my @files = grep /\.txt$/i, readdir $search_dir;
closedir $search_dir;
print "Got ", scalar @files, " files\n";

foreach my $file (@files) {
    my %seen         = ();
    my $current_file = $calls_dir . $file;
    open my $FILE, '<', $current_file or die "$file: $!\n";
    open my $fh1, ">", "Ask/Parsed/Html/$file.html" or die("Could not open file. $!");

    while (my $row = <$FILE>) {
        chomp $row;
        print "$row\n";
        my $xml1 = $row;
        $fh1->print ($row);
        my $xml2 = get $xml1;
        $fh1->print ("\n");
        $fh1->print ($xml2);
    }
}

0 个答案:

没有答案