use Bugzilla::Constants;
use Encode;
-use ExtUtils::MM ();
use File::Basename;
use File::Spec;
use POSIX qw(setlocale LC_CTYPE);
-use Safe;
use Scalar::Util qw(tainted);
use Term::ANSIColor qw(colored);
use PerlIO;
sub bin_loc {
my ($bin, $path) = @_;
+ # This module is not needed most of the time and is a bit slow,
+ # so we only load it when calling bin_loc().
+ require ExtUtils::MM;
# If the binary is a full path...
if ($bin =~ m{[/\\]}) {
# Used by install_string
sub _get_string_from_file {
my ($string_id, $file) = @_;
-
+ # This module is only needed by checksetup.pl,
+ # so only load it when needed.
+ require Safe;
+
return undef if !-e $file;
my $safe = new Safe;
$safe->rdo($file);
use base qw(Exporter);
use Bugzilla::Constants qw(ON_WINDOWS);
-use IO::File;
use Math::Random::ISAAC;
use if ON_WINDOWS, 'Win32::API';
sub _read_seed_from {
my ($from) = @_;
- my $fh = IO::File->new($from, "r") or die "$from: $!";
+ open(my $fh, '<', $from) or die "$from: $!";
my $buffer;
- $fh->read($buffer, SEED_SIZE);
+ read($fh, $buffer, SEED_SIZE);
if (length($buffer) < SEED_SIZE) {
die "Could not read enough seed bytes from $from, got only "
. length($buffer);
}
- $fh->close;
+ close $fh;
return $buffer;
}