Extract directory creation code to its own subroutine.

This commit is contained in:
Peter Powell 2016-03-22 22:14:35 +00:00
parent 55ad0595a7
commit 7c31c005fc
2 changed files with 13 additions and 7 deletions

View File

@ -28,12 +28,22 @@ use strict;
use warnings FATAL => qw(all);
use Exporter qw(import);
use File::Path qw(mkpath);
use File::Spec::Functions qw(rel2abs);
our @EXPORT = qw(get_cpu_count
our @EXPORT = qw(create_directory
get_cpu_count
get_version
module_installed);
sub create_directory($$) {
my ($location, $permissions) = @_;
return eval {
mkpath($location, 0, $permissions);
return 1;
} // 0;
}
sub get_version {
state %version;
return %version if %version;

View File

@ -88,12 +88,8 @@ sub prompt_dir($$$;$) {
$answer = rel2abs(prompt_string($interactive, $question, $default));
$create = prompt_bool($interactive && !-d $answer, "$answer does not exist. Create it?", 'y');
if ($create && $create_now) {
my $mkpath = eval {
mkpath($answer, 0, 0750);
return 1;
};
unless (defined $mkpath) {
print_warning "unable to create $answer!\n";
unless (create_directory $answer, 0750) {
print_warning "unable to create $answer: $!\n";
$create = 0;
}
}