use PerlIO; my $fd; open($fd, '+>>:raw', 'somefile.data') || die $!; my $layers = ':' . join(':', PerlIO::get_layers($fd)); print "$layers\n"; # # this doesn't complain, but the layers aren't being properly applied # my $fd3; open($fd3, "+>>&", fileno($fd)) || die $!; binmode $fd3, $layers; print join(',', PerlIO::get_layers($fd3)), "\n";