For å utvide min grep emulator i Perl har jeg lagt til støtte for en -r
bryter som gjør at rekursiv søke i underkataloger. Nå kommandolinjen påkallelse ser omtrent slik ut:
perl pgrep.pl -r <directory> <expression>
Både -r
og directory
argumentene er valgfritt (katalog som standard ''). Per nå har jeg bare sjekke om det første argumentet er -r
, og hvis ja angi riktig flagg, og skanne i resten to argumenter ved hjelp av shift. Dette åpenbart ville være et problem hvis -r
skulle vises på slutten av argumentlisten eller enda verre - i mellom katalognavn og søkeuttrykket.
En løsning ville være å bare slette -r
elementet fra @ARGV utvalg, slik at jeg kan bare skifte -i de resterende argumenter, men jeg kan ikke finne ut en måte å gjøre det uten å få en 'udef' i en merkelig posisjon i min array. Noen forslag eller ulike strategier som du kanskje har brukt er velkomne.