#! /usr/bin/perl use strict; use warnings; opendir(DIR, "/full/path/to/sentence/"); my @filesInDirectoryA = readdir(DIR); opendir(DIR, "/full/path/to/name/"); my @filesInDirectoryB = readdir(DIR); my $count = @filesInDirectoryA; my $x = 0; for ($x = 0; $x<$count; $x += 1) { if ($filesInDirectoryA[$x] ne $filesInDirectoryB[$x]) { die "mismatched files!\n\n"; } } for ($x = 0; $x<$count; $x += 1) { unless ($filesInDirectoryA[$x] =~ m/^\./) { system("perl run.pl /full/path/to/sentence/$filesInDirectoryA[$x] /full/path/to/name/@filesInDirectoryB > /full/path/to/output/$filesInDirectoryA[$x]"); } }