# $subroutine_definition_diag_code = "\n" . q{RPerl::diag("IN POST-INIT, method direct call MODE } . $package_name . '::' . $subroutine_name . q{\n"); } . "\n"; # RPerl::diag("in Class::activate_subroutine_args_checking(), $subroutine_name is a method\n"); # NEED UPGRADE: is it possible to activate non-type-checked RPerl subroutines & methods w/out creating new subroutines? $subroutine_definition_code = '*{' . $package_name . '::' . $subroutine_name . '} = sub { ' . $subroutine_definition_diag_code . $subroutine_arguments_check_code . 'return &${' . $package_name . '::' . $subroutine_name . '}(@ARG); };';

# if ($subroutine_arguments_check_code ne q{}) { RPerl::diag('in Class::activate_subroutine_args_checking(), have method $subroutine_definition_code =' . "\n" . $subroutine_definition_code . "\n"); } eval($subroutine_definition_code) or croak($EVAL_ERROR); if ($EVAL_ERROR) { croak($EVAL_ERROR); } } else { # RPerl::diag( "in Class::activate_subroutine_args_checking(), $subroutine_name is a non-method subroutine\n" ); if ( eval( 'defined(&main::' . $subroutine_name . ')' ) ) { croak "ERROR ECOPR00, PRE-PROCESSOR: Attempt by package '$package_name' to re-define shared global subroutine '$subroutine_name', please re-name your subroutine or make it a method, croaking"; }

        # DEV NOTE: must load into both main:: and $package_name:: namespaces,
        # in order to call subroutines w/out class prefix from within class file (package) itself, and not to use AUTOLOAD
        if   ( $package_name eq '' ) { $package_name_tmp = 'main'; }
        else                         { $package_name_tmp = $package_name; }

      #        $subroutine_definition_diag_code = "\n" . q{RPerl::diag("IN POST-INIT, subroutine direct call MODE main::} . $subroutine_name . q{\n"; } . "\n");
        $subroutine_definition_code
            = '*{main::'
            . $subroutine_name
            . '} = sub { '
            . $subroutine_definition_diag_code
            . $subroutine_arguments_check_code
            . 'return &${'
            . $package_name_tmp . '::'
            . $subroutine_name
            . '}(@ARG); };';

# if ($subroutine_arguments_check_code ne q{}) { RPerl::diag('in Class::activate_subroutine_args_checking(), have subroutine main:: $subroutine_definition_code =' . "\n" . $subroutine_definition_code . "\n"); } eval($subroutine_definition_code) or croak($EVAL_ERROR); if ($EVAL_ERROR) { croak($EVAL_ERROR); }

        # no package name means 'main', handled above
        if ( $package_name ne '' ) {

# $subroutine_definition_diag_code = "\n" . {RPerl::diag("IN POST-INIT, subroutine direct call MODE } . $package_name . '::' . $subroutine_name . q{\n"; } . "\n"); $subroutine_definition_code = '*{' . $package_name . '::' . $subroutine_name . '} = sub {' . $subroutine_definition_diag_code . $subroutine_arguments_check_code . 'return &${' . $package_name . '::' . $subroutine_name . '}(@ARG); };';

# if ($subroutine_arguments_check_code ne q{}) { # RPerl::diag('in Class::activate_subroutine_args_checking(), have subroutine package:: $subroutine_definition_code =' . "\n" . $subroutine_definition_code . "\n"); # } eval($subroutine_definition_code) or croak($EVAL_ERROR); if ($EVAL_ERROR) { croak($EVAL_ERROR); } } }

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 1019:

Unknown directive: =DEPRECATED

Around line 1077:

Unknown directive: =DEPRECATED