[Catalyst] doc patches and minor revelations

Jarom Smith jarom at jaromsmith.net
Fri May 29 18:43:21 GMT 2009


Tomas Doran wrote:
> Jarom Smith wrote:
>> Hello Catalysters:
>>
>> First of all, a thousand apologies if this is a FAQ (and if it is, 
>> please point me in the right direction).  I have been programming in 
>> Perl for a while but I freely admit there's a lot I don't know, which 
>> is why I am here.  I have completed the Catalyst tutorial, purchased 
>> the book (which I am in the process of reading/completing) and I have 
>> scrutinized all sorts of web pages trying to figure this out, but have 
>> so far been unsuccessful.
> 
> Right! Your question has been answered in the rest of the thread, which 
> is great.
> 
> Please please please submit a doc patch which contains the appropriate 
> pointers to the info you want, where you tried to find that info...
> 
> This is obvious to anyone who knows DBIC, but obviously not clear to 
> beginners. Please point out where we should document it so that the next 
> person doesn't struggle!
> 
> Thanks in advance.
> t0m
> 

Hi t0m:

Pretend I'm a complete ignoramus... (that shouldn't be too hard, LOL) 
If I were to want to submit a "doc patch", how would I go about doing it 
and what exactly would I be submitting?

One revelation I had recently which I don't think has been mentioned 
anywhere (at least not that I recall) is that when using DBIC and 
Catalyst, *everything* is treated as a scalar.  (is this a true 
statement?)  So in other words,

my $people = $c->model('AddressDB::People')

instead of

my @people = $c->model('AddressDB::People')

This hit me while reading p. 41 of the book.  I'm not even totally sure 
it's correct but things seem to work better when I adopt this 
view-point, so it probably is correct.  It kind of makes sense, because 
the Catalyst stash stores things using scalars (strings) as keys, so if 
you just think of everything as a scalar (which could be a ref to an 
array or hash) then things become slightly less confusing.  At least, 
that's my current understanding.  I am still very much muddling my way 
through all this stuff.

What I haven't figured out (yet) is why it is necessary for me to cast 
some things to array, whereas other times it works without casting to 
array.  I'm sorry, I don't have a specific code example.  I'm still 
working through the book and studying CPAN documentation pages 
furiously.  I'll get it eventually.


jarom smith
tech go-to guy



More information about the Catalyst mailing list