File: knowntypevalid.pl

package info (click to toggle)
emboss 6.6.0%2Bdfsg-7
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 571,544 kB
  • sloc: ansic: 460,579; java: 29,439; perl: 13,573; sh: 12,754; makefile: 3,283; csh: 706; asm: 351; xml: 239; pascal: 237; modula3: 8
file content (38 lines) | stat: -rwxr-xr-x 912 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl -w
$lasttype = "";
open (VERS, "embossversion -full -auto|") || die "Cannot run embossversion";
while (<VERS>) {
    if(/InstallDirectory: +(\S+)/) {
	$installtop = $1;
	$installtop =~ s/\/$//;
    }
    if(/BaseDirectory: +(\S+)/) {
	$distribtop = $1;
	$distribtop =~ s/\/$//;
    }
}
close VERS;
open (KNOWN, "$installtop/share/EMBOSS/acd/knowntypes.standard") ||
    die "Unable to open $installtop/share/EMBOSS/acd/knowntypes.standard";
while(<KNOWN>) {
    if(/^\#/) {next}
    if(/^(\S+\s+)(\S+\s+)(.*)/) {
	$kt = lc($1);
	if($kt eq $lasttype) {
	    print "$kt: Duplicate known type\n";
	}
	elsif($kt lt $lasttype) {
	    print "$kt: out of order 'follows '$lasttype'\n";
	}
	$lasttype = $kt;
	if($3 !~ /^[A-Z]/) {
	    print "$kt: Description does not start with capital letter\n";
	}
	if($3 !~ / file$/) {
	    print "$kt: Description ends with 'file'\n";
	}
    }
}
close KNOWN;

exit;