[Catalyst] TT2 + CP::Authentication + DBIC gotcha

Matt Lawrence matt.lawrence at ymogen.net
Fri Jul 13 17:31:53 GMT 2007


stephen joseph butler wrote:
> On 7/13/07, Matt Lawrence <matt.lawrence at ymogen.net> wrote:
>> Perrin Harkins wrote:
>> > my $vote = $foo if ($bar);  # <--- bad!
>> >
>> What's wrong with that? I find it a lot more readable than
>>
>> my $vote;
>> if ($bar) {
>>     $vote = $foo;
>> }
>
> It doesn't work this way, but suppose you wrote this:
>
> if ($bar) {
>  my $vote = $foo
> }
>
> Now see why it's wrong? The way you wrote it is kind of ambiguous for
> the way we think of postfix operators. If you want something one line,
> how about this:
>
> my $vote = $foo ? $bar : undef;

I can't replicate this behaviour. As far as I can tell, the postfix if 
is identical to the block if I wrote above.


perl -Mstrict -wle 'my $foo = 1 if 0; print defined $foo ? $foo : "undef"'
undef


Has the bug been fixed?

Matt





More information about the Catalyst mailing list