in reply to Expanding variables inside the CGI module

I suggest using the import_names feature of CGI, rather than trying to hack your way to something similar, but not quite as good. from CGI's POD :
IMPORTING ALL PARAMETERS INTO A NAMESPACE: $query->import_names('R'); This creates a series of variables in the 'R' namespace. For example, $R::foo, @R:foo. For keyword lists, a variable @R::keywords will appear. If no namespace is given, this method will assume 'Q'. WARNING: don't import anything into 'main'; this is a major security risk!!!!
pretty simple, huh? Just by putting $q->import_names just before you need to query them, you now have access to @Q::LIBRARY_files, @Q::BAKERY_files, @Q::HOSPITAL_files, or whatever else your CGI generates. If the 'Q' namespace isn't descriptive enough, you can $q->import_names("All_my_Parameters") and you'll have @All_my_Parameters::LIBRARY_files, and so on.
Hope that helps.