Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • I share your instinct and to refactor this, but your refactored version would strike me as odd immediately upon finding it: why grep { $_ } map { $foo } when that’s exactly the same as grep { $foo }?

    And I think the interpolation is just too clever. It also makes it unnecessarily hard to add or remove method calls that may not follow this naming scheme, should that ever be necessary. So I’d simply say

    sub schema_for_class {
        my $self = shift;
            my ( $class

    • by bpphillips (5948) on 2005.12.05 7:51 (#44996)
      Isn't the return value from your version simply going to be:
      qw(
                      table_for_class
                      indexes_for_class
                      constraints_for_class
                      view_for_class
                      insert_for_class
                      update_for_class
                      delete_for_class
      );
      ?

      You can't introduce side affects in a grep block. $_ always comes out the left side regardless of what happens inside the grep block (which is why you would want a grep {$_} map {$foo} pattern).
      • Ack! Of course. Sigh.

        I guess one could use

        map {
            my $method = $_;
            $self->$method( $class ) || ();
        } @method;

        but I’m not sure how well advised that is…