File: exclude

package info (click to toggle)
fonty 1.0-8
  • links: PTS
  • area: main
  • in suites: potato
  • size: 1,988 kB
  • ctags: 112
  • sloc: perl: 2,097; cpp: 1,114; makefile: 133; sh: 97
file content (60 lines) | stat: -rwxr-xr-x 768 bytes parent folder | download | duplicates (4)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/usr/bin/perl

$font1 = shift;
$font2 = shift;

open FONT, $font1;
$_ = <FONT>; s/\s+$//;
while (1)
{
	if (/^\[(.*)\]$/)
	{
		unless ($juzbyl = exists $znak{$1})
		{
			push @znaki, $1;
			$znak{$1} = "";
		}
	}
	elsif (/^$/)
	{
		if (@znaki || $juzbyl)
		{
			foreach (@znaki)
			{
				$znak{$_} .= $znak;
			}
			@znaki = ();
			$znak = "";
			$juzbyl = 0;
		}
	}
	else
	{
		(@znaki ? /^[.0]+$/ ? $znak : $znak{$znaki[-1]} : $font)
			.= "$_\n"
			unless $juzbyl;
	}
	last unless defined;
	$_ = <FONT>; s/\s+$//;
}
close FONT;

open FONT, $font2;
$_ = <FONT>; s/\s+$//;
while (1)
{
	if (/^\[(.*)\]$/)
	{
		delete $znak{$1};
	}
	last unless defined;
	$_ = <FONT>; s/\s+$//;
}
close FONT;

print "$font\n";

foreach (sort keys %znak)
{
	print "[$_]\n$znak{$_}\n";
}