-
Notifications
You must be signed in to change notification settings - Fork 6
tridge/junkcode
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
#!/usr/bin/perl -w
use Data::Dumper;
my %ltype;
sub process_file($) {
my $fname = shift;
open(HANDLE, $fname) || die "Can't open $fname";
my $data = "";
read(HANDLE, $data, 4096);
$data =~ tr/A-Za-z0-9/ /cs;
if ($data =~ /GNU General Public/ ||
$data =~ /GNU Public License/) {
if ($data =~ /Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed/) {
$ltype{"COPYING"}++;
} elsif ($data =~ /License version 3/) {
$ltype{"GPLV3"}++;
} elsif ($data =~ /any later version/ ||
$data =~ /v2 or later/ ||
$data =~ /version 2 or later/) {
$ltype{"GPLV2+"}++;
} elsif ($data =~ /version 2/i) {
$ltype{"GPLV2"}++;
printf("%s\n", $fname);
} else {
$ltype{"GPLvX"}++;
}
} elsif ($data =~ /copyright/i ||
$data =~ /license/i) {
$ltype{"OTHER"}++;
} else {
$ltype{"NONE"}++;
}
close(HANDLE);
}
sub traverse($) {
my $dname = shift;
my $d;
if (-f $dname) {
process_file($dname);
return;
}
opendir(DIR, $dname) || die "Can't open directory $dname";
my @names = readdir(DIR);
foreach my $f (@names) {
next if ($f eq ".") || ($f eq "..");
my $fname = $dname . "/" . $f;
if (-d $fname) {
traverse($fname);
} elsif (-f _) {
process_file($fname);
}
}
closedir(DIR);
}
for (my $i=0;$i<=$#ARGV;$i++) {
traverse($ARGV[$i]);
}
foreach my $l (keys %ltype) {
printf("%-6s %u\n", $l, $ltype{$l});
}
About
No description, website, or topics provided.
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published