June 2001 Making a Module Back Slide 58 Forward

use strict problem

# my $self = shift;
  no strict 'refs';
  if ($AUTOLOADABLE{$name} eq 'h') {
    my $code = q{
                 sub {
                      my $self = shift;
                      my $val = $self->{METHODNAME};
                      return (($val) ? %{$val} : undef);
                     }
                };
    $code =~ s/METHODNAME/$name/g;

    *$name = eval $code;    
    goto &$name;
  }

  • Must turn off strict refs for this to work


Copyright © 2001 R. Geoffrey Avery Back Contents Forward