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] Flere "substitutes" på én linie [NEWBIE]



Helt på en linie er det ikke, men hvis du alligevel har de strenge du
vil erstatte som nøgler i et hash, og du vil erstatte med værdien fra
hashet, så kan du bruge:

    my $regex = ('(' . join('|', map {quotemeta($_)} keys(%hash)) . ')'
);
    $text =~ s/$regex/$hash{$1}/ge;

I dit tilfælde har du så %hash = ( Jan=>'01', Feb=>'02', Mar=>'03',
...);

Christian Sandfeld wrote:
> 
> Lad mig starte med at sige at jeg er en "Perl Newbiew", så jeg unskylder på forhånd hvis spørgsmålet er banalt ;-)
> 
> Er der nogen der kan fortælle mig hvordan jeg "erstatter" flere ting i samme variabel på én linie ?
> 
> Hvordan får jeg f.eks. dette over på én linie:
> $month =~ s/Jan/01/g;
> $month =~ s/Feb/02/g;
> $month =~ s/Mar/03/g;
> 
> Mvh.
> 
> Christian

-- 
René Seindal (sslug@sslug)			http://www.seindal.dk/rene/


 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

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