[devscripts] 01/01: uscan: check if match found

Osamu Aoki osamu at debian.org
Mon Oct 5 13:51:24 UTC 2015


On Sun, Oct 04, 2015 at 10:28:33AM -0400, James McCoy wrote:
> >      if (defined $download_version) {
> >  	print STDERR "$progname debug: download version requested: $download_version\n" if $debug;
> >  	if ($download_version =~ m/^([-~\+\w]+)(\.[-~\+\w]+)?(\.[-~\+\w]+)?(\.[-~\+\w]+)?$/) {
> > -	    $download_version_short1 = "$1";
> > -	    $download_version_short2 = "$1$2";
> > -	    $download_version_short3 = "$1$2$3";
> > +	    $download_version_short1 = "$1" if defined $1;
> > +	    $download_version_short2 = "$1$2" if defined $2;
> > +	    $download_version_short3 = "$1$2$3" if defined $3;
> 
> What about something like this?
> 
> 	if ($download_version =~ m/^[-~+\w]+(?:\.[-~+\w]+){0,3}$/) {
> 	    ($download_version_short1,
> 	     $download_version_short2,
> 	     $download_version_short3) = split(/\./, $download_version);
> 	}

I thought about "split", too.  But what we need requires to do like:

        if ($download_version =~ m/^[-~+\w]+(?:\.[-~+\w]+){0,3}$/) {
            ($short1,
             $_short2,
             $_short3) = split(/\./, $download_version);
        }
        $download_version_short1 = "$short1";
        $download_version_short2 = "$short1.$short2";
        $download_version_short3 = "$short1.$short2.$short3";
        ...

or loop over when matching with directory string... long tangled ...

Anyway, mine is not very elegant style either.   I found that the Linux,
GNOME, and KDE have usually max 4 groups in version.  Directory may be
organized into 2 levels indexed.  Thus I made code like this as
practical compromise to address -- download-(deb)version etc.

Osamu



More information about the devscripts-devel mailing list