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


in reply to Optimizing variable passing (code, peer review)

I agree with dws, OOP definatley seems like it would fit with your project. Plus you could do fun things like overload the stringify operator by adding
use overload "\"\"" => \&as_string;
to the EmmisiveColor class. Then your simple_properties could become:
sub simple_properties { my $self = shift; return "appearance Appearance {\n" . " material Material {\n" . " ". join("\n ", $self->properties). "\n" . " }\n" . "}\n"; }
Overloading a string operator might be quite handy for what it looks like you are doing, and I bet you would find other significant simplifications with an OOP approach. Here is a quick overloading/oop tutorial. (shameless self promotion :)

Replies are listed 'Best First'.