Catalyst::Wiki
/modules that don't play nice

In my explorations with Catalyst I've come across some issues that turned out to be known bugs with particular modules when used in Catalyst. It'd be nice to have a list of these with links to relevant pages / details on how to workaround the issue.

Module: PDF::Table Why: In the 0.9.7 of PDF::Table, there is the following code:

  my $myone;
  do{
    $myone = 0;
    # This RegEx will split any word that is longer than {25} symbols
    $row->[$j] =~ s#(\b\S{$max_word_len}?)(\S.*?\b)# $1 $2#;
    $myone = 1 if( defined $2 );
  }while( $myone );

Notice the $myone = 1 if (defined $2); Because failed matches in perl do not reset the match variables, and somewhere along the line in Catalyst we already have matched and set $2, $myone gets set to 1 and we end up in an infinite loop if the first bit of the regex isn't matched.

Thanks to Khisanth for catching this after much of my head scratching. [Leanan]