#!/usr/bin/perl use strict; use warnings; use Data::Dumper 'Dumper'; my $dir = "csv/"; my @filenames = grep /csv/ && -f "$dir/$_" => do { opendir my $dh, $dir or die "Can't opendir `$dir': $!\n"; readdir $dh; }; my @place; open my $prep, "$dir/$filenames[0]" or die "Can't open file `$filenames[0]': $!\n"; while (<$prep>) { next unless /^([^,]+),([^,]+),(?:\d+,){4},(?:\d+,){4},(?:\d+,){3}/; my $place = "$1_$2"; my $reglookup = "$1,$2"; print "\n", '>' x 21, "\n", $reglookup, "\n", '>' x 21, "\n"; y/ /_/ => y/\"//d for $place_tag_string; s/ /\\s/g => s/([,\"()&])/\\$1/ge for $reglookup_tag_string; push @place, { type => $1, name => $2, tag => $place, reg => $reglookup }; } close $prep; my $filenumber; for (@place) { print "\n@@@@@@@@@@\n\n" $_->{reg}, "\n\n"; for my $file (@file_names) { my ($rl, $pt) = @{ $_ }{qw/reg tag/}; $filenumber++; print "\n\n\n\n$rl, $dir, $file, $filenumber, $pt\n\n\n\n"; print_out_files($rl, $dir, $filename, $filenumber, $pt); } } sub print_out_files { my %files; my ($rl, $dir, $file, $filenumber, $pt) = @_; my $Is_it_printed = 0; $files{Outfile} = "Result/Result_$pt.txt"; $files{Outfile_B} = "Result/Result_B_$pt.txt"; open my $ofh, '+>', $files{Outfile} or die "Can't create output file `$files{Outfile}': $!\n"; open my $ofh, '+>', $files{Outfile_B} or die "Can't create output file `$files{Outfile_B}': $!\n";