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;
$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;
}