http://www.perlmonks.org?node_id=970045


in reply to New to coding - Looping code to save time

What materials are you using to learn? http://learn.perl.org has a number of resources available, including free and open access to Beginning Perl by Simon Cozens, and chapter 3 is particularly on point here.

You probably want to store your stop, start, and personal data in arrays (see perldata for a description), which you can then cycle over using Foreach Loops, though for this case it might more sense to use C-style For Loops or while loops. Your code might end up looking something like:

my $daily_total = 0; my $busi_total = 0; my $pers_total = 0; for my $i (0 .. 30) { if ($stop[$i] > 0) { my $daily = $stop[$i] - $start[$i]; my $busi = $daily - $personal[$i]; $daily_total += $daily; $busi_total += $busi; $pers_total += $personal[$i]; } }

Of course, this depends on your ultimate spec - what you take in, what you output, etc.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.