http://www.perlmonks.org?node_id=1045299


in reply to execut perl script for multiple input folders

I guess you have 1000 files in sentence folder want to execute run.pl script on each file and create output of each file into output directory with the same input file name?

This post will help you, Input Output Question

Use opendir and readdir with while loop on sentence folder so you will get all the input file names, and pass those input filenames to your run.pl as command line argument.

Sample Code:

#!/usr/bin/perl use strict; use warnings; my $directory = '/sentence'; opendir (DIR, $directory) or die $!; while (my $file = readdir(DIR)) { #Run your script here with ``(backtick) or system() } closedir(DIR);
Update:

If you want to pass all the 1000 files to your run.pl script, in the while loop push each file name into an array then call your script as `run.pl @filenames`

Even you can also use glob to get the list of files from a directory.

OR

Use File::Slurp::read_dir to get the list of files:

use File::Slurp; my @files = read_dir '/sentence';

All is well