Annotation of db/prgsrc/chgkfiles.pm, revision 1.6

1.2       boris       1: #!/usr/bin/perl
1.3       roma7       2: 
                      3: =head1 NAME
                      4: 
1.6     ! roma7       5: chgkfiles.pm - модуль для работы с файлами
1.3       roma7       6: 
1.4       roma7       7: =head1 SYNOPSIS
1.5       roma7       8: 
                      9:   use chgkfiles.pm  
1.4       roma7      10: 
                     11: =head1 DESCRIPTION
                     12: 
1.5       roma7      13:   Работа с файлами
1.4       roma7      14: 
1.3       roma7      15: =head1 AUTHOR
                     16: 
                     17: Роман Семизаров
                     18: 
                     19: =cut
                     20: 
1.2       boris      21: package chgkfiles;
                     22: use DBI;
                     23: use Exporter;
                     24: use vars qw(@ISA @EXPORT);
                     25: @ISA=qw(Exporter);
                     26: 
                     27: @EXPORT = qw(&input_files &output_files &mywrite &auto_message 
                     28:             &myprint &config_error &getstring);
                     29: 
                     30: 
                     31: BEGIN {do "chgk.cnf"};
                     32: 
                     33: my %prt;
                     34: 
                     35: sub auto_message
                     36: {
                     37:   my $time=localtime;
                     38:   my $f=$_[0];
                     39: 
                     40:   print $f "# This file is automatically generated at $time by $_[1]\n";
                     41: }
                     42: 
                     43: sub mywrite
                     44: {
                     45:   (my $file, %prt)=@_;
                     46:   write $file;
                     47: }
                     48: 
                     49: sub myprint
                     50: {
                     51:   (my $file, @prt)=@_;
                     52:   print $file @prt;
                     53: }
                     54: 
                     55: sub setcount
                     56: {
                     57:   $c=shift
                     58: }
                     59: 
                     60: sub setword
                     61: {
                     62:   $word=shift
                     63: }
                     64: 
                     65: 
                     66: sub getstring #АЕП╦Р ОЕПБСЧ
                     67: {
                     68: 
                     69:    if ($#_>=1) { $a=$_[1]; $pattern=qr/$_[0]/}
                     70:    else {$a=$_[0]; $pattern=qr/\s+/};
                     71:    do
                     72:    {   
                     73:      $b=<$a>;
                     74:      $b =~ s/^\s+//g;
                     75:      $b =~ s/\s+$//g;
                     76:      $b =~ s/\#.*$//g;
                     77:    }
                     78:    until (($b ne '')||eof($a));
                     79: 
                     80: 
                     81:   $b ? split(/$pattern/, $b):undef;
                     82: }
                     83: 
                     84: sub config_error()
                     85: {
                     86:   "Can not open $_[0] file ${$_[0]}. Check your config.pl";
                     87: }
                     88: 
                     89: 
                     90: 
                     91: sub input_files
                     92: {
                     93:     foreach $file (@_) 
                     94:     {
                     95:           my $f=lc $file;
                     96:           open($file, "<$$f") or die "Can not open $file file $$f. Check your chgk.cnf\n";
                     97:     }
                     98: }
                     99: 
                    100: sub output_files
                    101: {
                    102:     foreach $file (@_) 
                    103:     {
                    104:           my $f=lc $file;
                    105:           open($file, ">$$f") or die "Can not open $file file $$f. Check your chgk.cnf\n";
                    106:     }
                    107: }
                    108: 
                    109: format WORDLIST =
                    110: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    111: $prt{c}, $prt{word}
                    112: .
                    113: 
                    114:        
                    115: format DWORDLIST =
                    116: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    117: $prt{c}, $prt{word}
                    118: .
                    119: 
                    120: format VWORDLIST =
                    121: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    122: $prt{c}, $prt{word}
                    123: .
                    124: 
                    125: 
                    126: format EWORDLIST =
                    127: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    128: $prt{c}, $prt{word}
                    129: .
                    130: 
                    131: format KWORDLIST =
                    132: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    133: $prt{c}, $prt{word}
                    134: .
                    135: 
                    136: 
                    137: 
                    138: format TABLE =
                    139: @<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    140: $prt{word}, $prt{nf}, $prt{flag}
                    141: .
                    142: 
                    143: format NEWTABLE =
                    144: @<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    145: $prt{word}, $prt{nf}
                    146: .
                    147: 
                    148: 
                    149: 
                    150: format NF =
                    151: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    152: $prt{c}, $prt{word}, $prt{flag}
                    153: .
                    154: 
                    155: format NEWNF =
                    156: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    157: $prt{c}, $prt{word}
                    158: .
                    159: 
                    160: 
                    161: format ERRORS =
                    162: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    163: $prt{c}, $prt{word}
                    164: .
                    165: 
                    166: format NEWERRORS =
                    167: @####### @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    168: $prt{c}, $prt{word}
                    169: .
                    170: 
                    171: format VERSIONS =
                    172: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    173: $prt{c}, $prt{word}, $prt{k}
                    174: .
                    175: 
                    176: format EQUALS =
                    177: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    178: $prt{first}, $prt{second}
                    179: .
                    180: 
                    181: format IN2OUT =
                    182: @<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    183: $prt{in}, $prt{out}
                    184: .
                    185: 
                    186: format CTABLE =
                    187: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    188: $prt{word}, $prt{number}
                    189: .
                    190: 
                    191: format CNF =
                    192: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    193: $prt{kvo}
                    194: .
                    195: 
                    196: format ALIKE  =
                    197: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                    198: $prt{first}, $prt{second}
                    199: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~
                    200: $prt{first}, $prt{second}
                    201: .
                    202: 
                    203: 
                    204: 1;
                    205: 
                    206: __END__

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>