installov.pl
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:2k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/local/bin/perl5
  2. # -*- mode: Perl -*-
  3. ##################################################################
  4. # This file updates the installation specific values
  5. ##################################################################
  6. # Created by Laurie Gellatly <gellatly@one.net.au>
  7. #################################################################
  8. #
  9. # Distributed under the GNU copyleft
  10. #
  11. # $Id: installov.pl,v 1.1.1.1 2002/02/26 10:16:36 oetiker Exp $
  12. #
  13. use strict;
  14. use vars '$DEBUG';
  15. my $DEBUG = 0;
  16. my($cmdfile,$cnt,$cntl,$infile,$delim,$s,$sysn,@cmds,@lines,@to,@from); 
  17. sub main {
  18.   $cmdfile = $ARGV[0];
  19.   shift @ARGV;
  20.   $infile = $ARGV[0];
  21.   die <<USAGE  unless $cmdfile && $infile;
  22. USAGE: installov cmdfile script/s
  23. EXAMPLE:  installov installov.cmd ovadd ovdel mrtgmenu
  24. USAGE
  25.    open (CMD,"<".$cmdfile);
  26.    @cmds = <CMD>;
  27.    close (CMD);
  28.    chomp (@cmds);
  29.    for ($cnt = 0; $cnt < @cmds; ++$cnt){
  30.       if ('s' eq substr($cmds[$cnt],0,1)){
  31.          $delim = substr($cmds[$cnt],1,1);
  32.          ($s,$from[$cnt],$to[$cnt]) = split (/$delim/,$cmds[$cnt]);
  33.       }
  34.    }
  35.    while ($infile){
  36.       open (SCRIPTF,"<".$infile);
  37.       @lines = <SCRIPTF>;
  38.       close (SCRIPTF);
  39.       chomp(@lines);
  40.       for ($cntl = 0; $cntl < @lines; ++$cntl){
  41.          for ($cnt = 0; $cnt < @to; ++$cnt){
  42.             $lines[$cntl] =~ s~$from[$cnt]~$to[$cnt]~;
  43.          }
  44.       }
  45.       open (SCRIPTF,">".$infile);
  46.       for ($cntl = 0; $cntl < @lines; ++$cntl){
  47.          print SCRIPTF $lines[$cntl]."n";
  48.       }
  49.       close (SCRIPTF);
  50.       shift @ARGV;
  51.       $infile = $ARGV[0];
  52.    }
  53. }
  54. main;
  55. exit(0);