Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Module version checking flaw?

by mirod (Canon)
on Nov 07, 2002 at 17:22 UTC ( #211134=note: print w/replies, xml ) Need Help??


in reply to Module version checking flaw?

sprintf looks like a good solution.

As I am not very familiar with pack I thought I'd try using it in this case, and here is what I got. Note that this code is tested but it is by no means authoritative, feel free to point my mistakes.

#!/usr/bin/perl -w use strict; while( <DATA>) { chomp; my( $v1, $expected_res, $v2)= split /\s+/; my $pv1= pack( 'I3', split( /\./, $v1)); my $pv2= pack( 'I3', split( /\./, $v2)); my $res; if( $pv1 gt $pv2) { $res= '>'; } elsif( $pv1 lt $pv2) { $res= '<'; } elsif( $pv1 eq $pv2) { $res= '='; } if( $res eq $expected_res) { print "ok $v1 $res $v2\n"; } else { print "NOK $v1 $res $v2 should be $v +1 $expected_res $v2\n"; } } __DATA__ 1.2 < 1.3 1.3 > 1.2 1.2.1 > 1.2 1.2.1 < 1.3 1.2.1 < 1.2.2 1.2.2 > 1.2.1 1.2.10 > 1.2.2 1.2.2 < 1.2.10 1.2 = 1.2 1.2.1 = 1.2.1 1.2.10 = 1.2.10

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://211134]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (2)
As of 2022-08-13 19:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?