Thanks, File::Sync seems to work:
use File::Sync qw(fsync);
open my $f, '/tmp' or die $!;
fsync($f) or die "fsync: $!\n";
I should have done a CPAN search myself...
However, IO::Handle is a core module, File::Sync isn't. As IO::Handle already has a sync() method (and perldoc POSIX documents that this is how to do fsync), it seems a bit excessive to pull in CPAN modules just because your file handle is a directory handle... |