Well, if you can't see the small parts, work from top down first. I've often coded things as:
my $data = get_data();
process_data($data);
print_result();
literally, as if it were pseudo code. Then I write stub routines, like:
sub get_data {
# returns scalar data pointer to my structure
my $return_value;
my $db = open_database($credentials); # must declare this above
my $data = query_db($db, "select * from bar");
$return_value = massage_data($data);
return $return_value;
}
sub open_database {
my $cred = shift;
warn "open_database doing nothing";
return undef;
}
...
and so on... Then at any time, I can "run" what I've got. And stay focussed on
each area of development. If I need a class, I'll develop a generic class that I can plug in.
Again, the goal is to type a dozen-ish lines of code, then invoke it. That's nearly always been possible.
-- Randal L. Schwartz, Perl hacker |