in reply to sorting an array of objects (surely it should be easy!)
The @unsorted array contains list of objects of GARD::Book class, when you pass it to the sort function, the $a and $b variables contain references to the correspondent elements in that array. So you simply say $a->function instead of $unsorted[$a]->function in the sort block.Use of reference "%s" as array index (W misc) You tried to use a reference as an array index; this probab +ly isn't what you mean, because references in numerical context tend to + be huge numbers, and so usually indicates programmer error. If you really do mean it, explicitly numify your reference, like so: $array[0+$ref]. This warning is not given for overloaded objects, either, because you can overload the numifi- cation and stringificat +ion operators and then you assumedly know what you are doing. Can't call method "%s" on unblessed reference (F) A method call must know in what package it's supposed to run. I +t ordinarily finds this out from the object reference you supply, but +you didn't supply an object reference in this case. A reference isn't a +n object reference until it has been blessed. See per- lobj.
Saying $a->function in the sort block is the same with $unsorted[SOME_INDEX]->function outside the block. When you say $unsorted[$a]->function in the sort block the following (more or less) happens:
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!
|
|---|