in reply to Genetic Programming or breeding Perls

Very cool :) One small nitpick though, is the use of map in void context. Specifically (in Individual->get_code):
my $code = ""; map { $code .= $_} (@{$self->{GENES}});
could be:
my $code = join('', @{$self->{GENES}});
Also, if your Individual->create() method returned $self at the end, you could change this (in Population->new):
for my $i (0 .. $self->{SIZE}) { my $individual = Individual->new(); $individual->create(); push (@{$self->{INDIVIDUALS}}, $individual); }
To this:
push (@{$self->{INDIVIDUALS}}, Individual->new->create) for 0..$self-> +{SIZE};
Or maybe even this:
$self->{INDIVIDUALS} = [ map {Individual->new->create} 0..$self->{SIZE +} ];
But now I'm probably being too nit-picky :) </code>

Replies are listed 'Best First'.
RE: RE: Genetic Programming or breeding Perls
by gumpu (Friar) on Sep 27, 2000 at 21:38 UTC

    Feel free to nitpick some more :), the replacement you suggest look very elegant. It's my first "complicated" perl program so there are bound to be more points that can be improved.

    Have Fun