Как насчет создания временного каталога (a la mkdtemp ()), чтобы избежать условий гонки, и затем размещения ваших FIFO там?
Например:
use File::Temp qw(tempdir);
use File::Spec::Functions qw(catfile);
use POSIX qw(mkfifo);
my $dir = tempdir(CLEANUP=>1);
my $fifo0 = catfile($dir, "fifo0");
mkfifo($fifo0, 0700) or die "mkfifo($fifo0) failed: $!";
my $fifo1 = catfile($dir, "fifo1");
mkfifo($fifo1, 0700) or die "mkfifo($fifo1) failed: $!";
print "FIFO #0: $fifo0\n";
print "FIFO #1: $fifo1\n";