Thanxs!

now off to modify my exec code that parses an entire array of files :)


> -----Original Message-----
> From: Peter Scott [mailto:[EMAIL PROTECTED]]
> Sent: Monday, August 06, 2001 14:36
> To: Yacketta, Ronald; Beginners (E-mail)
> Subject: Re: ideas to clean this up?
> 
> 
> At 01:55 PM 8/6/01 -0400, Yacketta, Ronald wrote:
> >Folks,
> >
> >I have this butt ugly little perl code here,
> 
> Your honesty is refreshing :-)
> 
> >would like some ideas on really
> >streamlining it and cleaning it up.
> >
> >opendir DIR1, "../logs/set1" or die "Can't open ../logs/set1: $!";
> >opendir DIR2, "../logs/set2" or die "Can't open ../logs/set2: $!";
> >opendir DIR3, "../logs/set3" or die "Can't open ../logs/set3: $!";
> >opendir DIR4, "../logs/set4" or die "Can't open ../logs/set4: $!";
> >opendir DIR5, "../logs/set5" or die "Can't open ../logs/set5: $!";
> >opendir DIR6, "../logs/set6" or die "Can't open ../logs/set6: $!";
> >
> >@Files1 = readdir DIR1;
> >@Files2 = readdir DIR2;
> >@Files3 = readdir DIR3;
> >@Files4 = readdir DIR4;
> >@Files5 = readdir DIR5;
> >@Files6 = readdir DIR6;
> >
> >closedir DIR1;
> >closedir DIR2;
> >closedir DIR3;
> >closedir DIR4;
> >closedir DIR5;
> >closedir DIR6;
> >
> >foreach (@Files1) {
> >         push(@logFiles1,"../logs/set1" . $_);
> >}
> >foreach (@Files2) {
> >         push(@logFiles2,"../logs/set2" . $_);
> >}
> >foreach (@Files3) {
> >         push(@logFiles3,"../logs/set3" . $_);
> >}
> >foreach (@Files4) {
> >         push(@logFiles4,"../logs/set4" . $_);
> >}
> >foreach (@Files5) {
> >         push(@logFiles5,"../logs/set5" . $_);
> >}
> >foreach (@Files6) {
> >         push(@logFiles6,"../logs/set6" . $_);
> >}
> 
> This may seem a little obvious, but...
> 
> my %logFiles;
> for my $key (1 .. 6) {
>    opendir DIR, "../logs/set$key" or die "opendir 
> ../logs/set$key: $!\n";
>    push @{$logFiles{$key}}, map "../logs/set$key/$_",
>                             grep !/^\.\.?$/, sort readdir DIR;
>    closedir DIR;
> }
> 
> Now the filenames are in arrays which are referenced from the 
> values of the 
> hash %logFiles (keys are 1 through 6, but maybe you want to use the 
> directory name instead).  I took the liberty of removing the usually 
> useless directory entries and sorting, since you'll probably 
> want them 
> sorted later.
> --
> Peter Scott
> Pacific Systems Design Technologies
> http://www.perldebugged.com
> 

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to