in reply to RE: RE: RE: RE: Re: @ARGV Manipulation
in thread @ARGV Manipulation
#!/usr/local/bin/perl5 #I'll call this snippet exfields.pl as in "EXtractFIELDS" #zcat command for gzipped files $gzcatcmd="gunzip -c"; # I'll need this eventually # Input parameters $RegExp = ""; # Default no regexp $MatchFld = ""; # Default no field match $LastHdr = ""; # Last read header line $DbFSplit = ' '; # Need this form for split $DbOFSep = ' '; # Default output field delimiter $VBarDel = 0; # Flag default not splitting by vertical bar ($progname = $0) =~ s/^.*\/([^\/*]+)$/$1/; # name of this program while (@ARGV) { $Param = shift @ARGV; if ($Param eq "-s") { $RegExp = shift @ARGV; # Search expression } elsif ($Param eq "-f") { $MatchFld = shift @ARGV; # Search field specifier } elsif ($Param eq "-e") { $FList = shift @ARGV; # field extract list } elsif ($Param =~ /^\-/) { &ErrorExit; #I'll define this later; you get the point } else { push @FileList,$Param; } } # Flag to substitute for whitespace if the new field delimiter #includes whitespace and the old one did not. The assumption is #that if the old delimiter included whitespace, we do not need #to convert existing whitespace in fields. May be modified by # #DFD declaration.. if (($DbOFSep =~ /^ +$/) && ($DbFSplit !~ /^ +$/)){ $FixSpaces = 'Y'; # can't have Null fields or whitespace } else { $FixSpaces = ''; # can't have Null fields or whitespace } @OrigFields = split(',',$FList); unless (@FileList) {push @FileList,"-";} print " @FileList\n";
it will return:</CODE If you run this: <CODE> exfields.pl -e Name,Rank,SerialNumber file.gz
Great. Now what? I've succesfully coded HALF of what I wanted to do! What I CAN'T figure out how to do, is:Name,Rank,SerialNumber
And have it return:exfields.pl -e Name,Rank,SerialNumber file.gz | Who,What,Where another +file.gz
How am I doing as far as explaining what I'm trying to do?print "@FileList_1\n"; #prints "Name" "Rank" SerialNumber" print "@FileList_2\n"; #prints "Who" "What" "Where"
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
RE: RE: RE: RE: RE: RE: Re: @ARGV Manipulation
by bastard (Hermit) on Sep 16, 2000 at 09:50 UTC |