⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rv.pm

📁 source of perl for linux application,
💻 PM
字号:
package CPANPLUS::Backend::RV;use strict;use vars qw[$STRUCT];use CPANPLUS::Error;use CPANPLUS::Internals::Constants;use IPC::Cmd                    qw[can_run run];use Params::Check               qw[check];use base 'Object::Accessor';local $Params::Check::VERBOSE = 1;=pod=head1 NAMECPANPLUS::Backend::RV=head1 SYNOPSIS    ### create a CPANPLUS::Backend::RV object    $backend_rv     = CPANPLUS::Backend::RV->new(                                ok          => $boolean,                                args        => $args,                                rv          => $return_value                                function    => $calling_function );    ### if you have a CPANPLUS::Backend::RV object    $passed_args    = $backend_rv->args;    # args passed to function    $ok             = $backend_rv->ok;      # boolean indication overall                                            # result of the call    $function       = $backend_rv->fucntion # name of the calling                                            # function    $rv             = $backend_rv->rv       # the actual return value                                            # of the calling function=head1 DESCRIPTIONThis module provides return value objects for multi-modulecalls to CPANPLUS::Backend. In boolean context, it returns the statusof the overall result (ie, the same as the C<ok> method would).=head1 METHODS=head2 new( ok => BOOL, args => DATA, rv => DATA, [function => $method_name] )Creates a new CPANPLUS::Backend::RV object from the data provided.This method should only be called by CPANPLUS::Backend functions.The accessors may be used by users inspecting an RV object.All the argument names can be used as accessors later to retrieve thedata.Arguments:=over 4=item okBoolean indicating overall success=item argsThe arguments provided to the function that returned this rv object.Useful to inspect later to see what was actually passed to the functionin case of an error.=item rvAn arbitrary data structure that has the detailed return values of eachof your multi-module calls.=item functionThe name of the function that created this rv object.Can be explicitly passed. If not, C<new()> will try to deduce the namefrom C<caller()> information.=back=cutsub new {    my $class   = shift;    my %hash    = @_;    my $tmpl = {        ok          => { required => 1, allow => BOOLEANS },        args        => { required => 1 },        rv          => { required => 1 },        function    => { default => CALLING_FUNCTION->() },    };    my $args    = check( $tmpl, \%hash ) or return;    my $self    = bless {}, $class;#    $self->mk_accessors( qw[ok args function rv] );    $self->mk_accessors( keys %$tmpl );    ### set the values passed in the struct ###    while( my($key,$val) = each %$args ) {        $self->$key( $val );    }    return $self;}sub _ok { return shift->ok }#sub _stringify  { Carp::carp( "stringifying!" ); overload::StrVal( shift ) }### make it easier to check if($rv) { foo() }### this allows people to not have to explicitly say### if( $rv->ok ) { foo() }### XXX add an explicit stringify, so it doesn't fall back to "bool"? :(use overload bool       => \&_ok, #             '""'       => \&_stringify,             fallback   => 1;=pod=head1 BUG REPORTSPlease report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.=head1 AUTHORThis module by Jos Boumans E<lt>kane@cpan.orgE<gt>.=head1 COPYRIGHTThe CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.=cut1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -