SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] skriver forkerte linie til fil



[Jeg kan ikke poste til sslug.perl, så lad mig svare direkte]

On Fri, 25 Aug 2000, Kim Schulz wrote:

> 
> Hejsa
> Jeg har følgende kode der giver mig lidt problemer. 
> Ideen er at den skal skrive alle linier der IKKE indeholder det som er i
> qq linien til filen, men den skriver KUN det som er i qq linien i
> stedet. Hvor er fejlen. jeg kan ikke lige gennemskue det. 
> 
> Desuden er det som om den aldrig kører den Rename som kommer lige
> bagefter.
> 
> 
> 
> sub Undelete {
>     print "Undeleting $TH_OPT2 from trash...\n";
>     #### read IN, $buffer, -s "";
>     $SIZE = (-s "$TPATH/$TH_OPT2");
>     open IN, "<$TPATH/placements.xml";
>     open OUT, ">$TPATH/temp.xml";
>     while (<IN>) { 
>     if (/$TH_OPT2/){
> 	    if (/PATH=\"(.*)\"/){
> 		    $OUT_PATH = $1;
> 	            }
>          print OUT unless $_ eq qq("<FILE NAME="$TH_OPT2"
> PATH="$OUT_PATH" SIZE="$SIZE">");
>          rename "$TPATH/$TH_OPT2", "$OUT_PATH/$TH_OPT2";
> }
[...]

$_ indeholder normalt en newline.  Du kan enten putte en newline i din qq
eller choppe din newline af eller bruge en regexp i stedet for qq.

-Lars

-- 
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause) | Hårdgrim of Numenor
"I do not agree with a word that you say, but I    | Retainer of Sir Kegg
will defend to the death your right to say it."    |   of Westfield
    --Evelyn Beatrice Hall paraphrasing Voltaire   | Chaos Berserker of Khorne


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:53
Denne side vedligeholdes af MHonArc .