If it is really dying without error, you should follow the
Basic debugging checklist, especially points 2 and 4:
use Data::Dumper;
...
print Dumper \@wsl;
foreach $filename(@wsl)
{
warn "trying to open file '$filename'\n";
open(FIN, $filename) or die "Could not open file '$filename' $!";
warn "successfully opened file '$filename'\n";
while (my $row = <FIN>)
...
I prefer to put filenames in configuration files¹, e.g. using
Config::Tiny.
- The advantage of this approach is that you can put your filenames there totally unchanged, including backslashes, spaces and other special characters.
- Disadvantage: for characters outside the ASCII range you have to use the same encoding (binmode) as your editor (or whatever tool you use to put the filename into the config file).
¹ - obviously this is not feasible for the name of the configuration file itself…