#!/usr/bin/env perl
# pmcheck -- check that Perl is set up correctly for Perl modules
# ------ pragmas
use strict;
use warnings;
use pmtools;
our $VERSION = $pmtools::VERSION;
# ------ define variables
my $dir = undef; # directory in @INC
my $errors = 0; # count of errors found
for $dir (@INC) {
if (!-e $dir) {
print "'$dir' is in \@INC but does not exist\n";
$errors++;
next;
}
if (!-d $dir) {
print "'$dir' is in \@INC but is not a directory\n";
$errors++;
next;
}
if (!-r $dir) {
print "'$dir' is in \@INC but you cannot read it\n";
$errors++;
next;
}
}
exit($errors != 0);
__END__
=head1 NAME
pmcheck - check that Perl is set up correctly for Perl modules
=head1 DESCRIPTION
pmcheck checks that Perl is correctly set up for Perl modules.
For now, pmcheck just verifies that the entries in @INC
are existing readable directories.
=head1 SEE ALSO
pmdirs(1), pmpath(1)
=head1 AUTHOR and COPYRIGHTS
Copyright (C) 2012-2013 Mark Leighton Fisher.
=head1 LICENSE
This is free software; you can redistribute it and/or modify it
under the terms of either:
(a) the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or
(b) the Perl "Artistic License".
(This is the Perl 5 licensing scheme.)