Jim Meyering wrote: > with F12's 5.10.0, I see this: > > $ perl -le 'print $]' > 5.010000
I didn't use $] in the adjusted get_version() I sent :) > So $^V appears to be out. > > Want to write the patch? > There must be something canonical and "easy" in Perl itself, considering > the prevalence of the desired version string, e.g. in perl's own search path. Well I couldn't see any and just resorted to parsing `perl --version` as before. So the attached patch just uses the get_version() I previously sent in this thread (which also handles the output from 5.11.2-81...) cheers, Pádraig.
>From 85495fa62a21455f3a89184a929e59ab45c12d37 Mon Sep 17 00:00:00 2001 From: =?utf-8?q?P=C3=A1draig=20Brady?= <p...@draigbrady.com> Date: Mon, 30 Nov 2009 12:29:03 +0000 Subject: [PATCH] bootstrap: fix handling of various perl --version formats * build-aux/bootstrap (get_version): Don't use perl's $] special variable, as that requires updating all bootstrap.conf files to use perl's x.yyyzzz version format. Instead make the regular expression more general to support version formats from older perl-5.005_002 (5.5.2) and perl-5.11 which has other numbers in the version line. --- build-aux/bootstrap | 19 +++++++++++-------- 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build-aux/bootstrap b/build-aux/bootstrap index 7c4882d..dd21325 100755 --- a/build-aux/bootstrap +++ b/build-aux/bootstrap @@ -311,20 +311,23 @@ sort_ver() { # sort -V is not generally available get_version() { app=$1 - # perl 5.11's --version output does not fit the mold, - # handle perl as a special case. - if test "_$app" = _perl; then - perl -le 'print $]' || return 1 - return 0 - fi - $app --version >/dev/null 2>&1 || return 1 $app --version 2>&1 | - sed -n 's/[^0-9.]*\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/p + sed -n '# extract version within line + s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ + t done + + # extract version at start of line + s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/ t done + d + :done + #the following essentially does s/5.005/5.5/ + s/\.0*\([1-9]\)/.\1/g + p q' } -- 1.6.2.5