hmatt1
hmatt1

Reputation: 5159

How to determine if a Perl module is cross-platform?

For example, I want to compress log files a script generates. I'm using version 5.8.8 so there isn't anything built into the core to do it. The script is cross-platform, Linux, Solaris, AIX, HPUX, and Windows.

Right now I'm thinking of using IO::Compress::Gzip. Are there any known bugs with that module? Will it work across all platforms?

To generalize a little more, how can I find out if a certain module has any known bugs, and what platforms that module will run on?

Upvotes: 4

Views: 198

Answers (1)

amon
amon

Reputation: 57640

CPAN offers an array of tools you can use to determine the usefulness of a module before installing it. Unfortunately, IO::Compress::Gzip is a suboptimal example of how this can go.

When you visit the metacpan page of a module, there is a list of tools in the left column. The interesting points are

  • Test Results: This takes you to a page where the results of the test suite on different OSes and different perl versions are shown. Unfortunately, this service doesn't respond to my requests at the time of writing.
  • Bugs: This is a link to the bugtracker for this module. You can browse the list of open bugs to find possible dealbrakers. And if you find an issue, you can report it here.
  • Reviews: Some modules have short reviews and ratings by the Perl community. The module you mentioned doesn't have any ratings yet, so as an example, here are the ratings for List::MoreUtils.
  • Dependencies are listed on the right column. If you click the “dependencies” link, you can get a summary of test results for the required non-core modules for a given perl version. Unfortunately, there don't seem to be any results available currently.

Many modules also have a “bugs and limitations” section in the documentation.

Note: according to the corelist program, IO::Compress::Gzip is a core module since perl5, v9.4. This doesn't mean much: Core modules are in Core because they are needed to install other modules (or because they have historical significance … CGI, *cough*). However, this is an indication that it is reasonably stable and thoroughly cross-platform.

Upvotes: 6

Related Questions