wcj75019 has asked for the wisdom of the Perl Monks concerning the following question:
Here is part of the file I'm trying to modify:watch process procAlive 'bgs' 18 0x2 60 'Production Critical: bgs fail +ure. Restarting bgs' '/opt/EMPsysedge/bin/sysedge.sh'
here are my errors: They have to do with my regex.watch process procAlive 'cron' 1 0x2 60 'Production Critical: cro +n failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'inetd' 2 0x2 60 'Production Critical: in +etd failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'sendmail' 3 0x2 60 'Production Critical: sen +dmail failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'syslogd' 4 0x2 60 'Production Critical: sy +slogd failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'automountd' 5 0x2 60 'Production Critical: au +tomountd failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'xntpd' 6 0x2 60 'Production Critical: xn +tpd failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh' watch process procAlive 'itaagtd' 7 0x2 60 'Production Critical: it +aagtd failure. Call USA POC' '/opt/EMPsysedge/bin/sysedge.sh'
Here is my script.Use of uninitialized value at ./b.o-n line 16, <IN> chunk 86. Use of uninitialized value at ./b.o-n line 17, <IN> chunk 86. Use of uninitialized value at ./b.o-n line 16, <IN> chunk 87. Use of uninitialized value at ./b.o-n line 17, <IN> chunk 87. Use of uninitialized value at ./b.o-n line 16, <IN> chunk 88. Use of uninitialized value at ./b.o-n line 17, <IN> chunk 88. Use of uninitialized value at ./b.o-n line 16, <IN> chunk 89.
#!/usr/bin/perl -w use strict; my $cf_dir = "/fmac/sysadm/admin/sysedge/sys/sysedge/cf/"; my $CF = "watch process procAlive 'bgs' 18 0x2 60 'Production Critical +: bgs failure. Restarting bgs' '/opt/EMPsysedge/bin/sysedge.sh'"; open CF_FILES, "Servers.cf" or die "Can't Open Servers.cf file: $!"; #open CF_FILES, "Servers.test" or die "Can't Open Servers.test file: +$!"; my @cf_f=<CF_FILES>; #close CF_FILES; foreach my $cf(@cf_f) { chomp $cf; open IN, "$cf_dir/$cf" or die "Can't open '$cf' for input: $!\n"; #open OUT, ">$cf_dir/$cf.tmp" or warn "Can't write '$cf_dir/$cf.tmp': +$!\n"; open OUT, ">/tmp/$cf.tmp" or warn "Can't write '/tmp/$cf.tmp': $!\n"; my $file = do { local $/; <IN>}; s/^watch.*?'bgs'.*?sh'$//; s/^(watch.*?'cron'.*?sh'$)/$1\n$CF\n/; print OUT $file; } close OUT or die "Can't close filehandle OUT properly: $!\n"; chdir "/$cf_dir"; #rename "$cf.tmp", "$cf"; #}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: regex problem?
by CountZero (Bishop) on Mar 22, 2008 at 08:59 UTC | |
by wcj75019 (Acolyte) on Mar 22, 2008 at 14:52 UTC |