in reply to help needed with match multiple lines
(not tested)use strict; opendir( DIR, "data" ); # use a variable if you need to handle differ +ent values my @files = grep /\.txt$/, readdir( DIR ); closedir DIR; warn scalar @files . " files to read\n"; open( OUT, ">", "list.txt" ) or die "list.txt: $!\n"; for my $file ( @files ) { local $/; # sets $/ to undef (locally) open( IN, $file ) or warn "$file: $!\n"; $_ = <IN>; # reads entire file because $/ is undef close IN; while ( m{<a href=.*?>(\w+)<.*?class="report"[^>]+>(\w+)<}sg ) { print OUT "$file -- $1 -- $2\n"; } }
|
|---|