ha egyezik találta el, hogy egy adott vonal perl
Hello szakértőcsoporttal
I am a newbie perl, Csak kíváncsi, hogy tudja, hogyan kell csinálni a következőket perl.
azt hiszem, ve egy txt fájlt, mint alul. amikor megalapítja "* Fő Start"
Akkor megy "* Fő End ,,,,,,,," patteren és csak beszedi a szám az előző vonal "* Fő End ,,,,,,," minta. Az én esetemben ez 5. Majd indítsa excuting általában a "* Fő Start" álláspont
A következőkben a kép .. I dont akar-hoz hoz létre ideiglenes fájlt is ..
Bemeneti fájl:
Kód:
*Init End
*Main Start
*Comment Reset Timers
000000,0000,0,0,0,0,0,1,0
000000,0000,0,0,0,0,1,1,0
*Comment Control Frame at 1.04596 ms
000000,0400,0,0,0,0,1,0,1
2418A4,0000,0,1,3,0,0,0,0
049C00,0000,0,0,2,0,0,0,0
*Comment Control Frame at 1.04673 ms
*Comment Control Frame at
000002,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000100,0000,0,0,2,0,0,0,0
*Comment Control Frame at
000004,0000,0,0,0,0,1,0,1
241002,0000,0,1,3,0,0,0,0
000000,0000,0,0,2,0,0,0,0
*Comment Frame 13 at ** us,,,,,,,,
000005,7E3D,0,0,0,0,1,0,1
*Main End,,,,,,,,
teljesítmény:
Kód:
*Init End
*Main Start
repeat(5);
process all lines as usual here.
............
*Main End,,,,,,,,,
Én ve kinyomtatni minden sor, mert ha talált egy sort kezdve *. Amit miért csinálok, mint az alábbi
Kód:
if(m/^\*/){
print "//", $_;
next;
}
Kód:
Basic Algorithm of my programme need :
1. If "*Main Start" pattern found go to line where Pattern matches "*Main end".
2. Get the previous line. and get the value of the first field.
3. Return to "*Main start" position again. & Print repeat(that number) : in my case it is 5 :
4. stop/next;
Segítséget legtöbb Appriciated ..
üdvözlettel,
user_prady
Last edited by user_prady; 03-28-2008 at 12:51 AM..
|