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

_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel

Reply via email to