Строго информационный, но непрактичный ответ:
Хотя почти наверняка есть более элегантный способ сделать это в зависимости от точных деталей того, что вы пытаетесь сделать, если вам абсолютно необходимо иметь dup2()
, его эквивалент Perl присутствует в модуле POSIX
. Однако в этом случае вы имеете дело с фактическими файловыми дескрипторами, а не с файловыми дескрипторами Perl, и, соответственно, вы ограничены использованием других предоставляемых функций в модуле POSIX, все из которых аналогичны тем, которые вы использовали бы в C. в некоторой степени, вы будете писать C на очень не Perlish Perl.
http://perldoc.perl.org/POSIX.html