Ответ более общий (т. Е. Он не специфичен для Perl):
Для такого рода действий в Windows по сравнению с остальным миром почти всегда требуется отдельный код для Windows по сравнению со всем остальным. Практически во всем остальном есть хорошие решения для таких вещей, как сокеты файлов Unix или FIFO или ... Тогда в Windows вы должны вернуться к сокетам.
ИМХО, правильное решение - использовать правильное решение для окон, которое не является сетевыми сокетами, потому что это открывает приложение для проблем безопасности. Так что во всем остальном «делайте это правильно», а затем в Windows вместо этого используйте сетевые сокеты. Но , убедитесь, что при выборе маршрута сетевого сокета вы должны по крайней мере использовать только локальные сокеты (т. Е. Привязанные к 127.0.0.1).
Для perl, я бы соблазнился поискать в CPAN класс, который уже сделал этот универсальный. Но ... я не удивлюсь, если ничего не будет.