From 7c31c005fced1cad45b19c7e9d5c3f294a80281a Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Tue, 22 Mar 2016 22:14:35 +0000 Subject: [PATCH] Extract directory creation code to its own subroutine. --- make/common.pm | 12 +++++++++++- make/console.pm | 8 ++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/make/common.pm b/make/common.pm index f5bbedb3f..ea4c2a50c 100644 --- a/make/common.pm +++ b/make/common.pm @@ -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; diff --git a/make/console.pm b/make/console.pm index 4e7b32d49..621de0274 100644 --- a/make/console.pm +++ b/make/console.pm @@ -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; } } -- 2.39.2