I've attempted to address Mr. Rothenberg's issues. This module did fall by the wayside for a long time, for which I apologize.
The documentation examples have been fixed, and I've tried to make it clearer about how to integrate Video::Xine with X11::FullScreen. There are also example programs that use Video::Xine both as a player (bin/xine_play) and to find out the length of a media file (bin/xine_length).
I've also made X11::FullScreen a requirement. It was only listed as a recommendation before, since Video::Xine is still useful without it as an audio player and a file metadata reader, but I understand that that can be confusing. This module does not use Params::Validate or List::MoreUtils.
I'd like to thank Mr. Rothenberg for his reviews, both here and of other modules on CPAN.
As someone who just typed 'cpanm install' and installed this module accidentally, I'd like to thank the contributor for making this module. It does nothing, and it does it well.
Module::Build has come a long way. I use it in my Video::Xine module because it offers a clean, well-documented way to add arbitrary arguments to the C compiler. In addition, it has a superior interface for authors (who we should encourage... the best reason to use Perl is CPAN), plus some well-designed methods for backward compatibility. It will, in fact, automatically create a Makefile.PL in your distribution.
The only things preventing a five-star rating are buildability checks and the sheer number of unfixed bugs sitting in the queue. The CPAN automated testing system is designed to skip sending a FAIL report if the Build.PL or Makefile.PL script exits successfully but without creating a Makefile or Build file. It's easy to add an assertion to the Build.PL file, but if there's a compatibility-layer Makefile.PL, it will error out if the Build.PL doesn't create a Build file.
In the end, the benefits strongly outweigh the drawbacks, and I look forward to its joining the Perl core, which will eliminate many of the other objections.