OSDN Git Service

[lfsja-git] r11.1-76 対応。
[lfsbookja/lfsja-git.git] / bin / buildch.perl
1 #!/usr/bin/perl
2
3 my $src_name = shift; # source file to be read
4 my $tgt_name = shift; # change file to be created
5
6 open (my $fh_src, '<'.$src_name) or die "Error: " . $src_name;
7 open (my $fh_tgt, '>'.$tgt_name) or die "error: $!";
8
9 my $lines = "";
10
11 print $fh_tgt "%\n";
12 print $fh_tgt "% This is part of LFSbookja package.\n";
13 print $fh_tgt "%\n";
14 print $fh_tgt "% This is a CTIE change file for the original XML source of the LFSbook.\n";
15 print $fh_tgt "%\n";
16
17 foreach my $line (<$fh_src>) {
18
19   if ($line =~ /^[ \t]*$/) { 
20     if ($lines ne "") {
21       &output_change_strings;
22       $lines = "";
23     }
24   } else {
25     $lines = $lines . $line;
26   }
27 }
28 if ($lines ne "") {
29   &output_change_strings;
30 }
31
32 close($fh_src);
33 close($fh_tgt);
34
35 sub output_change_strings {
36   my $last = "";
37   if ($lines =~ /[\n]$/) {
38   } else {
39     $last = "\n";
40   }
41   print $fh_tgt "\n";
42   print $fh_tgt "\@x\n";
43   print $fh_tgt $lines . $last;
44   print $fh_tgt "\@y\n";
45   print $fh_tgt $lines . $last;
46   print $fh_tgt "\@z\n";
47 }