X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=script%2Fdbicadmin;h=414b5829778c04afda9588f6cf9cddd4dc61746a;hb=538c5c4673003dc6bbf9709e01a3935fa1416631;hp=e6066fbc435fba92966f1af51d7ad40ded2060e8;hpb=4a0eed52f392b2e135385d0c06b06160200f3772;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/script/dbicadmin b/script/dbicadmin index e6066fb..414b582 100755 --- a/script/dbicadmin +++ b/script/dbicadmin @@ -4,11 +4,10 @@ use strict; use warnings; BEGIN { - use DBIx::Class; - die ( 'The following modules are required for the dbicadmin utility: ' - . DBIx::Class::Optional::Dependencies->req_missing_for ('admin_script') - . "\n" - ) unless DBIx::Class::Optional::Dependencies->req_ok_for ('admin_script'); + require DBIx::Class::Optional::Dependencies; + if (my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('admin_script') ) { + die "The following modules are required for the dbicadmin utility: $missing\n"; + } } use DBIx::Class::Admin::Descriptive; @@ -72,21 +71,21 @@ if(defined (my $fn = $opts->{documentation_as_pod}) ) { $usage->synopsis($synopsis_text); $usage->short_description($short_description); + my $fh; if ($fn) { - require File::Spec; - require File::Path; - my $dir = File::Spec->catpath( (File::Spec->splitpath($fn))[0,1] ); - File::Path::mkpath([$dir]); + require DBIx::Class::_Util; + DBIx::Class::_Util::mkdir_p( DBIx::Class::_Util::parent_dir( $fn ) ); + open( $fh, '>', $fn ) or die "Unable to open $fn: $!\n"; + } + else { + $fh = \*STDOUT; } - local *STDOUT if $fn; - open (STDOUT, '>', $fn) or die "Unable to open $fn: $!\n" if $fn; - - print STDOUT "\n"; - print STDOUT $usage->pod; - print STDOUT "\n"; + print $fh "\n"; + print $fh $usage->pod; + print $fh "\n"; - close STDOUT if $fn; + close $fh if $fn; exit 0; }