Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Re: Re: Foreach Complications

by kilinrax (Deacon)
on Dec 07, 2000 at 20:31 UTC ( #45531=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Foreach Complications
in thread Foreach Complications

Could could make this code a lot cleaner. Notably, that mess of splits and data assignments at the top, using `ls` when you should be using readdir, and scoping of variables.

Here's what i came up with after five minutes:
sub PRINT_INFO { my ($netid, $sitename, $sector) = @_; my $DAILY_HEAD = "Date Total"; $,="\t"; #Output Field Separator my $report_type = 'Daily Totals'; my $MARKET = 'PHL'; my $DAILY_PATH = "/data1/$MARKET/reports"; my $BUSY_PATH = "/data1/$MARKET/bhreports"; my $PKD_PATH = "/data1/$MARKET/pkdreports"; my $MISC_PATH = "/data1/$MARKET/miscreports"; my $MDG_PATH = "/data1/$MARKET/mdgreports"; my $cellname = "$sitename Sector $sector"; my $search_string = "\Q$netid"; print "$cellname\n"; opendir DIR, $DAILYPATH; my @all_readable_files = grep { ($_ ne '.') && ($_ ne '..') && ($_ + !~ /\.Z//) } readdir DIR; closedir DIR; print "$DAILY_HEAD\n"; my $file; foreach $file (@all_readable_files) { my $date = substr ($file, 0 , (index $file, '_')); open(FILE, "$DAILY_PATH/$file"); @DATA=<FILE>; @result = grep { (index $_, $search_string) > -1 } @DATA; for ( $i = 0; $i <= $#results; $i++ ) { my $info = (split(' ', $result[$i]))[7]; print $date , $info . "\n"; } close FILE; } }

Replies are listed 'Best First'.
(jeffa) Re: Re: Re: Re: Foreach Complications
by jeffa (Bishop) on Dec 07, 2000 at 22:18 UTC
    Good stuff - but don't code Perl like C :
    for my $i (0..$#results) { my $info = . . . . . . . }
    It took me a while to get used to it - it's almost too easy, but think of the carpel-tunnel you'll prevent ;)

    Jeff

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    F--F--F--F--F--F--F--F--
    (the triplet paradiddle)
    

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://45531]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (2)
As of 2022-05-29 08:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (101 votes). Check out past polls.

    Notices?