我有一个非常适合输出到终端的脚本,但我想用最多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);
}
}