Help for this page

Select Code to Download


  1. or download this
            package ModuleName;
            use Exporter::VA qw/import AUTOLOAD VERSION/;
    
  2. or download this
            our %EXPORT= ( # all configuration done in this one hash
                    foo => [ v1.0, 'foo_old', v2.0, 'foo_new' ],
    ...
                    .default_VERSION => v1.5,
                    .warnings => 1
            );
    
  3. or download this
            use ModuleName;
    
  4. or download this
            use ModuleName v2.1;
    
  5. or download this
            use ModuleName v2.1 qw/ foo bar fobble $y/;
    
  6. or download this
            my %Export= ( #...
            use Exporter::VA (\%Export, 'import');  # look ma, no package 
    +globals!
    
  7. or download this
            use Exporter::VA ('import', {
                    foo => \\&internal_foo,
                    bar => \\&internal_bar
                    } );  # put it all inline in this statement.
    
  8. or download this
            %EXPORT= (
                    &foo => "foo",  # & is optional for functions
                    $bar => "$_internal_bar",
                    baz => ""  # means "same".
                    );
    
  9. or download this
            foo => [ v1.0, 'foo_old', v2.0, 'foo_new' ]
    
  10. or download this
            use ModuleName v1.78 ('foo');  # note no comma after v-string
    
  11. or download this
            %EXPORT= (
                    &foo => \&figure_it_out_later,
                    $bar => sub { ... logic goes here ... },
                    %fible => sub { \%internal_fible }
                    );
    
  12. or download this
            sub figure_it_out_later
             {
             my ($blessed_export_def, $caller, $version, $symbol, $param_l
    +ist_tail)= @_;
    
  13. or download this
            %fible => \\%internal_fible
    
  14. or download this
        %EXPORT= (
            apple => ...
    ...
            cheeze => ...
            :fruit => [ qw/apple banana pear/ ]
        );
    
  15. or download this
            use ModuleName v1.78 qw/potato :fruit cheeze/;
    
  16. or download this
            %EXPORT= (
                    :list => [ v1.0, ':_old_list', v2.3, ':_new_list' ],
                    :_old_list => [ 'foo', 'bar', 'baz', 'fobble' ],
                    :_new_new => [ 'fobble' ]
            );
    
  17. or download this
            use ModuleName v1.2 ':list';
    
  18. or download this
            use ModuleName ':_old_list';
    
  19. or download this
            use ModuleName v2.4 ':list';
    
  20. or download this
            use ModuleName ':_new_list';
    
  21. or download this
            %EXPORT= (
                    foo => [ v1.0, 'foo_old', v2.0, 'foo_new' ],
    ...
                    :_old_imports => [ 'foo', 'bar', 'baz', 'fobble' ],
                    :_new_imports => [ 'fobble' ],
                    # ... others ...
    
  22. or download this
            %EXPORT= (
                    -prag => \&callme,
                    # ...
    
  23. or download this
            use ModuleName v1.0 qw/ foo -prag bar/;
    
  24. or download this
            %EXPORT= (
                    -verbose => sub { my $caller= shift; $verbose{$caller}
    +=1; }
    
  25. or download this
                    .allowed_VERSIONS => [
                            1.0, # initial relase
                            1.1, # minor fixes
    
  26. or download this
            %EXPORT= (
                    .&begin => sub {
                      my ($blessed_export_def, $caller, $version, $symbol,
    + $param_list_tail)= @_;
                      #...
    
  27. or download this
                    .default_VERSION => v1.99,  # changed stuff with 2.0, 
    +must ask for new stuff.
    
  28. or download this
            %EXPORT= (
                    .plain => [qw/foo $x &zed],
    
  29. or download this
            %EXPORT= (
                    &foo => "",
                    $x => "",
                    &zed => "",
    
  30. or download this
            %EXPORT= (
                    .&unknown_import => sub {
                      my ($blessed_export_def, $caller, $version, $symbol,
    + $param_list_tail)= @_;
                      #...
    
  31. or download this
            %EXPORT= (
                    .&unknown_type => sub {
                      my ($blessed_export_def, $caller, $version, $strange
    +_import_param, $import_list_tail)= @_;
                      #...
    
  32. or download this
    
    If the import list contains something that is not a scalar, then it is
    + passed to this callback.  The
    thing in question is C<$strange_import_param>.
    
  33. or download this
                    .warnings => 0,
    
  34. or download this
            foo => [ v1.0, 'foo_old', v2.0, 'foo_new' ],
            bar => 'bar_internal',
            fobble => \&figure_it_out,
    
  35. or download this
            use ModuleName v1.5 qw(foo bar);
    
  36. or download this
            sub import
             {
    ...
             $export_def-> set_client_desired_version ($caller, $version);
             $export_def -> export ($caller, $version, \@_);
             }
    
  37. or download this
            package Extend;
            use Exporter::VA ();
            @ISA= ('Exporter::VA');
            sub resolve { ... # override what I need to change here
    
  38. or download this
            package ModuleName;
            use Exporter::VA qw/ -derived Extend  import AUTOLOAD /;
            %EXPORT= { ... #
            # proceed writing my module
    
  39. or download this
            autoload_symbol ($blessed_export_def, $module, $symbol)
    
  40. or download this
            $vstring= client_desired_version ($blessed_export_def, $caller
    +)
    
  41. or download this
            $ref= resolve ($blessed_export_def, $caller, $version, $item)
    
  42. or download this
            package ModuleName;
            use Exporter::VA qw/-derived ExpEnhancement import AUTOLOAD/;