#!/usr/bin/perl -w package main; use warnings; use strict; use Getopt::Long; use Pod::Usage; use Module::License::Report; our $VERSION = '0.02'; my %opts = ( verbose => 0, all => 0, help => undef, version => undef, ); Getopt::Long::Configure('bundling'); GetOptions('v|verbose' => \$opts{verbose}, 'a|all' => \$opts{all}, 'h|help' => \$opts{help}, 'V|version' => \$opts{version}, ) or pod2usage(1); if ($opts{help}) { pod2usage(-exitstatus => 0, -verbose => 2, -input => \*DATA); } if ($opts{version}) { print "Module::License::Report v$Module::License::Report::VERSION\n"; exit 0; } if (@ARGV == 0) { pod2usage(1); } my $reporter = Module::License::Report->new({verbose => $opts{verbose}}); my %licenses; for my $module_name (@ARGV) { if ($opts{all}) { %licenses = (%licenses, $reporter->license_chain($module_name)); } else { my $license = $reporter->license($module_name); if ($license) { $licenses{$license->package_name} = $license; } else { warn "Can't find a license for $module_name\n"; } } } for my $pkg_name (sort keys %licenses) { printf "%-11s %s\n", $licenses{$pkg_name}->name(), $pkg_name; } __DATA__ =head1 NAME license-report - List the license of CPAN modules =head1 SYNOPSIS license-report [options] module1 module2 ... Options: -a --all recursive check license of dependencies -v --verbose print status messages -h --help verbose help message -V --version print AnnoCPAN::Perldoc::SyncDB version =head1 DESCRIPTION Prints a table of license for CPAN distributions. =head1 EXAMPLE % license-report -a PAR perl Archive-Zip perl Compress-Zlib perl Module-ScanDeps perl PAR perl PAR-Dist =head1 SEE ALSO L =head1 LICENSE Copyright 2005 Clotho Advanced Media, Inc., This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 AUTHOR Clotho Advanced Media Inc., I Primary developer: Chris Dolan