[Groningen-pm] help: protocol version check

Piet Plomp pietplomp at xs4all.nl
Sat Mar 15 04:44:26 PDT 2008


Op Za, 15 maart, 2008 12:24, schreef Johan Vromans:
> "Piet Plomp" <pietplomp at xs4all.nl> writes:
>
>> Ik heb een Perl module die een bepaalde protocol versie implementeert.
>> Weet iemand een (in Perl "ingebouwde") manier om de protocol versie te
>> checken?
>>
>> Ik weet dat je een versie aan een module kunt meegeven met de
>> voorgedefinieerde variabele VERSION en daarvan gebruik kunt maken door
>> de
>> geerfde method VERSION aan te roepen met de minimaal benodigde versie.
>>
>> Maar dat is niet wat ik wil. Ik wil een bepaald protocol definieren dat
>> onafhankelijk is van de versie van de module. Ik heb het wel eens ergens
>> gezien maar heb geen idee meer waar.
>>
>> Wie heeft er een idee?
>
> die("Ongeldig protocol versie")
>   unless Nifty::Module::ProtocolVersion() gt "1.24.07";

Hmm, da's niet waar ik op gehoopt had.

Dat wordt dus:

- in de module:

our PROTOVERSION = 1.00;

....

sub WantProto
{
    my $self = shift;
    my $wantedproto = $_[0];

    die "wrong protocol version: wanted: $wantedproto, implemented:
$PROTOVERSION"
        if ($wantedVersion != $PROTOVERSION);
}

- en in de aanroeper:

my $q = Nifty::Module();

eval
{
    $q->$WantProto(2.00);
}

# catch $@ hier

Andere ideeen?

Groetjes,

Piet

>
> -- Johan
>




More information about the Groningen-pm mailing list