can you post the exact format of your include line
and what is the logic to map the base to actual values.
in
base/includefile.ext
how do we get to know the value of base
here is a general solution assumin that tha format of your include line is
include "base/filename.extenction"
all the nasses should be stored in a hash
called %baseHash stored in a hash
my $outStr = makeOutput("Source_File_Name");
open(OUT, ">Output_File_Name");
print OUT $outStr;
close(OUT);
sub makeOutput($){
my ($source) = @_;
my $fText = file2Str($source);
$fText =~
s/include\s"(w+)\/(w+\.w+)"/$baseHash{$1}\/makeOutput($2)/emg;
return $fText;
}
sub file2Str($){
my ($fn) = @_;
open(FH, "<$fn");
my @fLines = <FH>;
close(FH);
return join('', @fLines);
}
________________________________________
Rakhitha Karunarathne
Web Master
www.Ad-Man.tk - Free Unlimited Banner Rotators
________________________________________
----- Original Message -----
From: "Girish N" <[EMAIL PROTECTED]>
To: "'LRMK'" <[EMAIL PROTECTED]>
Sent: Wednesday, May 26, 2004 6:10 PM
Subject: RE: need help(urgent)
> Hey
> Thanks a lot for the help
> But I have one more problem....sorry to bother u but this is kind of
> urgent...
> Include statement in my code looks like this
>
> include $(BASE_DIR)/make_include
>
> I need to get the value of the $(BASE_DIR) and then open the file
> base/make_include
> Can u plz tell me how to do that......i am bad at pattern matching....and
I
> need to finish this today....
>
> Plz reply back
> Thanks & Regards
> Girish
>
>
>
> -----Original Message-----
> From: LRMK [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, May 26, 2004 5:11 PM
> To: Girish N
> Cc: [EMAIL PROTECTED]
> Subject: Re: need help(urgent)
>
> try this, this should work
>
____________________________________________________________________________
> __________________________________
>
>
> #Pass the file name as a parameter
> sub printFile($){
> my ($fname) = @_;
>
> #Load the spesified file
> my @lines = readFile($fname);
> chomp @lines;
>
>
> foreach my $line (@lines){
>
> if ($line =~ m/include\s"(\w+\.\w+)"/i){ # check for the include
> line
> printFile($1);
> }else{
> print "$line\n";
> }
> }
>
>
>
>
> }
>
> sub readFile($){
> my ($fname) = @_;
> open(FH, "<$fname") or die $!;
>
> my @fLines= <FH>;
> close(FH);
>
> return @fLines;
>
> }
>
>
>
>
>
>
>
> ________________________________________
> Rakhitha Karunarathne
> Web Master
> www.Ad-Man.tk - Free Unlimited Banner Rotators
> ________________________________________
>
>
>
> ----- Original Message -----
> From: "Girish N" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, May 26, 2004 4:49 PM
> Subject: need help(urgent)
>
>
> > Hi All
> >
> > I am stuck with this script which I need to finish today...
> >
> >
> >
> > What I am supposed to do is
> >
> > 1) parse a file and search for included files and insert those
> > included files in the file.
> >
> > Eg.
> >
> > File1
> >
> > Lkdfs
> >
> > Sdfdsfds
> >
> > Sdfsdf
> >
> > Include "one.txt"
> >
> > Sdfdsf
> >
> > Sdfsdf
> >
> > Werewr
> >
> > Tytry
> >
> >
> >
> > Where one.txt is
> >
> > A
> >
> > B
> >
> > C
> >
> > D
> >
> > E
> >
> > F
> >
> >
> >
> > The expected result is
> >
> >
> >
> > File2
> >
> > Lkdfs
> >
> > Sdfdsfds
> >
> > Sdfsdf
> >
> > A
> >
> > B
> >
> > C
> >
> > D
> >
> > E
> >
> > F
> >
> > Sdfdsf
> >
> > Sdfsdf
> >
> > Werewr
> >
> > Tytry
> >
> >
> >
> >
> >
> > Please help me with this ....
> >
> > Thanks in advance
> >
> > Girish
> >
> >
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>