Devel::PatchPerl::Hints - replacement 'hints' files


version 2.08


  use Devel::PatchPerl::Hints;

  if ( my $content = Devel::PatchPerl::Hints->hint_file() ) {
    chmod 0644, 'hints/' or die "$!";
    open my $hints, '>', 'hints/' or die "$!";
    print $hints $content;
    close $hints;

  # Get a list of OS for which we have hints

  my @os = Devel::PatchPerl::Hints->hints();


Sometimes there is a problem with Perls hints file for a particular perl port. This module provides fixed hints files encoded using MIME::Base64.


The function is exported, but has to implicitly imported into the requesting package.

  use Devel::PatchPerl::Hints qw[hint_file];

It may also be called as a class method:

  use Devel::PatchPerl::Hints;

  my $content = Devel::PatchPerl::Hints->hint_file();

Takes an optional argument which is the OS name ( as would be returned by $^O ). By default it will use $^O.

In a scalar context, Will return the decoded content of the hints file suitable for writing straight to a file handle or undef list if there isn't an applicable hints file for the given or derived OS.

If called in a list context, will return a list, the first item will be the name of the hints file that will need to be amended, the second item will be a string with the decoded content of the hints file suitable for writing straight to a file handle. Otherwise an empty list will be returned.


Takes no arguments, returns a list of OS names for which there are hints files.


Chris Williams <>


This software is copyright (c) 2021 by Chris Williams and Marcus Holland-Moritz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.