Where are you going to store your 1000 objects? In an object?
And how are you going to access the individual instances you need? Isn't that what accessors are made for?Of course in Perl, objects are just eye-candy around a data-structure (hashes, arrays, or any combination) but if I follow your reasoning, I should program in Assembler as in the end it all is machine-code.
CountZero A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James
| [reply] |
Care to share some code to demonstrate? Home brew hash or Moose-based doesn't matter.
Say, 1000 lines and with an average of say 10 stations per line.
This will generate some test data sufficient for the exercise:
#! perl -slw
use strict;
=comment
lineName stn. east...north...elev.
000301038 1260 52205121N109153806W 618485158009020 6626
000301038 1261 52205121N109153674W 618510158009027 6623
=cut
for my $line ( 1 .. 1000 ) {
for my $stn ( 1 .. 10 ) {
printf "%08d %8d %08dN%08dW %015s %4d\n",
$line, $stn,
int( 1e6 * rand( 90 ) ), int( 1e6 * rand( 90 ) ),
int( 1e13 * rand( 90 ) ), int( rand 9999 );
}
}
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
| [reply] [d/l] |
$grid->get_line(257)->get_station('257_5')->Elevation;
Of course, behind the scenes, it is all hashes and arrays and hashes of hashes and ... . And of course it is much slower than programming these data structures directly, but then you don't get these nice accessors, mutators, type-checking, default values, ...
PS: I did not implement all the fields in all the objects, just enough --I hope-- to show it works.
CountZero A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James
| [reply] [d/l] [select] |