The problem doesn't have anything to do with bless, but rather with the fact that you are storing your instance variables in the package scoped lexicals %phrase, %author, %approved and %date. This is equivalent to private static variables in C++/Java, and means that only one instance of each exists per package, all shared between instances of the class. Thus, the last created object overwrites those values. Variables declared using use vars or our are basically equivalent to public static in that you can refer to them from outside the package, i.e., %Quote::phrase, but are likewise shared among all instances.
If you want unique data per instance, you'll need to store that data inside the object itself, which in this case means using a hash or array, not a scalar, as the blessed reference.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||