in reply to Re^2: Dynamic Method Generation Using Class::Accessor
in thread Dynamic Method Generation Using Class::Accessor

If you install methods for each new attribute, you install them in symbol table, which is shared among all objects.

So whenever you install an accessor method for an object, all other objects get that too - although it doesn't make sense for them to have one.

It also means that if you have a long running process, you might gather many methods which once were useful, but don't make sense anymore.

Also consider the case where somebody might want to subclass your class, and can't know at the time of writing which methods your class will have - that's kinda painful.

  • Comment on Re^3: Dynamic Method Generation Using Class::Accessor