On Friday, May 24, 2002, at 08:23 , Leon, Yanet I,,DMDCWEST wrote:
[..] > s/^\#(shell\s.*tcp\s.*\sin.rshd)$/$1/; > > I want to call the above script from another longer one to just perform > the > replacement passing a file name as the argument. The lines on the calling > file should look as follows: > : > Some other steps. > : > #Editing myfile lines > > $myfile="/scratch/scripts/filetoedit"; > > I must call the substitute script here passing $myfile as argument. I know that you are technically asking for a way to 'invoke this 'external' script - but why not be a bit more perlish about the attack profile. keeping the original executable out there is a great thing. don't get me wrong, and system, is an alternative - but since you want to call this from a larger programme - I do hope that you were not planning to modify the file and then read it in???? sub mungeFile { my ($file) = @_ ; my @ret_lines; die "no such file - $file" unless(-f $file); # safety check my $outfile = $file . '.bak'; open(FH, $file) or die "unable to open inputfile:$!\n"; open(OUTFH, ">$file.tmp) or die "unable to open outputfile:$!\n"; while(<FH>) { if (s/^\#(shell\s.*tcp\s.*\sin.rshd)$/$1/) { print OUTFH $1; push(@ret_lines, $1); }else{ print $_ ; push(@ret_lines, $1); } } close(FH); close(OUTFH); return(@ret_lines); } but since you have a regEx that really can only target /etc/inetd.conf - why not simply call the original script OpenRshdInInetd.conf ciao drieux --- ps: do give my regards to the Tiger Team... -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]