in reply to Re: dereferencing multiple hash array structure
in thread dereferencing multiple hash array structure

Using prototypes on subroutines is usually a bad idea...

Further to Athanasius's point: The function  GenerateClassInfo is prototyped to take zero arguments, but is defined as operating on a single argument. The only way this function can work as defined is to defeat the prototyping mechanism by calling the function with the  & sigil. But what's the point of all that? Wasted motion of that sort is one of the reasons prototypes have a bad reputation. For far more, see Far More than Everything You've Ever Wanted to Know about Prototypes in Perl -- by Tom Christiansen. (Update: Furthermore, the  GenerateClassInfo function is called before it is either defined or declared, i.e., before its prototype is available for checking. This would have generated a warning had the function not been called with the  & sigil.)