summaryrefslogtreecommitdiff
path: root/fml/share/message/euc-jp/.cutoff.pl
blob: 511468d04b85f956480e81d18c2941f12e859e71 (plain)
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
#!/usr/bin/env perl
#
# $FML: .cutoff.pl,v 1.1.1.1 2001/10/11 08:43:12 fukachan Exp $
#

use strict;
use FileHandle;


for my $file (@ARGV) {
    my $rh = new FileHandle $file;
    my $fh;
    my ($x, $y) = ();

    while (<$rh>) {
	if (/^(\S+):/ && $file eq 'kern') {
	    $x = 'kern';
	    $y = $1;
	    $fh = _open($fh, $x, $y);
	}
	elsif (/^(\w+)\.(\S+):/) {
	    ($x, $y) = ($1, $2);
	    $fh = _open($fh, $x, $y);
	}
	else {
	    s/^\t//;
	    if (defined $fh) {
		$fh->print($_);
	    }
	}
    }
}


sub _open
{
    my ($fh, $x, $y) = @_;

    $fh->close if defined $fh;
    system "mkdir -p $x";

    $fh = new FileHandle "> $x/$y";
    if (defined $fh) {
	print STDERR "$x/$y opened\n";
    }
    else {
	print STDERR "fail to open $x/$y\n";
    }

    return $fh;
}