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] Brug globbing til wild card emulering



Jeg siger mange, og prøver det i aften.

Ole Tange wrote:

> On Wed, 17 May 2000, Jan Eggert Kofoed wrote:
>
> > Jeg har er ved at lave Perl programmer, som skal filtrere filer, og
> > dette
> > skulle gerne kunne lade sig gøre ved at benytte wild cards på samme
> > måde som en shell gør det. Jeg ville gerne undgå at stole på shellen,
> > for nogle af mine brugere har benytter ikke bash på Windows platformen.
>
> Da jeg skulle skrive noget perl til Windows fulgte der et program
> med i perl-pakken: glob.exe. Gør der stadig det?

Jeg benytter ActivePerl på Windows (NT og 95), og den har
perlglob, både i bat- og exe-version, så det ser jeg på.

> > Jeg kan godt få fat på filnavne (parse_dir). Hvordan checker jeg, om
> > filnavnet
> > opfylder regexp angivet ved wild card? For eksempel ville jeg godt kunne
> >
> > skrive noget i retning af
> >     perl -TSw jk.pl "*2*.pl"
>
> Hvis du bruger glob.exe, kan du som første linje skrive:
>
>   @ARGV=<eval $ARGV[0]>;
>
> Dette vil evaluere det første argument på kommandolinjen og derefter
> benytte csh eller glob.exe til at expande, slutteligt putte resultatet ind
> i @ARGV, så det for perl "ser ud som om" de stod på kommando linjen.
>
> Hvis du vil have lov at skrive:
>
>   perl -TSw jk.pl "*2*.pl" abc.txt "ole?????.pl" ...
>
> skal du ud i noget ala:
>
>   @sslug@sslug; @ARGV=();
>   for(@e) { push(@ARGV,<eval $_>); }
>
> Hvis glob.exe ikke længere findes til Windows, så prøv lige at checke CPAN
> om de ikke har en globbing-ting.
>
> Hvis du absolut _vil_ regexpe, så skal du konvertere alle globbings til
> regexps:
>
>   ?           = .
>   {a,bc}      = (a|bc)
>   *           = .*
>   [a-f]       = [a-f]
>   tegn        = \tegn

Denne tabel viser præcis hvad jeg gjorde galt, så det skal jeg også have
på plads.

> Det overlades til en øvelse til læseren at få lavet en 100% korrekt
> implementation. Jeg lugter bøvl, når man skal finde ud af, om [ har en
> speciel betydning: [a-f] eller ingen speciel betydning: [a-f (uden ]).
>
> /Ole

Det vil vise sig, om jeg tager udfordringen op; bøvl kan være meget
inspirerende, men også trættende ;=)

mvh
Jan



 
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 .