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]

My tags:
 
Popular tags:
 
Powered by Catalyst
Powered by MojoMojo Hosted by Shadowcat - Managed by Nordaaker