home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl502b.zip / ext / DB2CLI / mkconst.pl < prev    next >
Text File  |  1995-08-05  |  750b  |  39 lines

  1. print "struct CliConst { const char *name; long val; };\n%%\n";
  2. %consts = ();
  3. while (<>) {
  4.     if ((/\bSQL/ || /DB2/ || /ODBC/) && /^#define\s+(\w+)\s/) {
  5.     $consts{$1} = 1;
  6.     }
  7. }
  8. @consts = sort keys %consts;
  9.  
  10. foreach (@consts) {
  11.     print "$_,$_\n";
  12. }
  13.  
  14. @funcs = ();
  15. open(IN,  "< DB2CLI.xs") or die "DB2CLI.xs\n";
  16. while (<IN>) {
  17.     if (/^SQL\w+/ && $& ne "SQLRETURN") {
  18.     push @funcs, $&;
  19.     }
  20. }
  21. close(IN);
  22.  
  23. open(IN,  "< DB2CLI.pm.in") or die "DB2CLI.pm.in\n";
  24. open(OUT, "> DB2CLI.pm")    or die "DB2CLI.pm\n";
  25. while (<IN>) {
  26.     if (/\%\%/) {
  27.     foreach (sort @funcs) {
  28.         print OUT "\t$_\n";
  29.     }
  30.     foreach (sort @consts) {
  31.         print OUT "\t$_\n";
  32.     }
  33.     } else {
  34.     print OUT $_;
  35.     }
  36. }
  37. close(IN);
  38. close(OUT);
  39.