develooper Front page | perl.perl5.porters | Postings from October 2007

[perl #47015] "v-string in use/require non-portable" not in perldelta

Thread Next
From:
Tom Wyant
Date:
October 29, 2007 14:31
Subject:
[perl #47015] "v-string in use/require non-portable" not in perldelta
Message ID:
rt-3.6.HEAD-20149-1193690188-840.47015-75-0@perl.org
# New Ticket Created by  Tom Wyant 
# Please include the string:  [perl #47015]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=47015 >


This is a bug report for perl from tom@wyants-white-imac.local,
generated with the help of perlbug 1.36 running under perl 5.10.0.


-----------------------------------------------------------------
The new "use VERSION" diagnostic
    v-string in use/require is non-portable
is not mentioned in the perldelta for 5.10.0. I do not know whether
this is an oversight or an editorial decision not to clutter perldelta
with trivialities. If the former, I hoped to be of service by catching
it, but if the latter I do not intend to quibble.

There are some other "use VERSION"-related diagnostics that appear in
the 5.10.0 perldiag but not the 5.8.8 perldiag, but I have been unable
to determine whether they are genuinely new or simply omitted from the
5.8.8 perldiag:
    Invalid version format (multiple underscores)
    Invalid version format (underscores before decimal)
    Version string '%s' contains invalid data; ignoring: '%s'

Lastly, it seems to me that the description of "v-string in use/require
is non-portable" is somewhat confusing. On first reading it seems to say
to use floating point version numbers for backward portability, and then
to say that this does not help. Instead of
    
    If you want your scripts to be backward portable, use the floating
    point version number: for example, instead of "use 5.6.1" say "use
    5.006_001".  This of course won't help: the older Perls won't
    suddenly start understanding newer features, but at least they will
    show a sensible error message indicating the required minimum
    version.
    
something like

    If you want your scripts to be backward portable, use the floating
    point version number: for example, instead of "use 5.6.1" say "use
    5.006_001".  This of course won't make older Perls suddenly start
    understanding newer features, but at least they will show a sensible
    error message indicating the required minimum version.

might be clearer, if this is indeed the intended meaning.

This last point borders on a spelling/grammar flame. It is not so
intended, which is why it is tacked somewhat apologetically on the end,
rather than submitted separately. Again, please apply your editorial
judgement.
-----------------------------------------------------------------
---
Flags:
    category=docs
    severity=wishlist
---
Site configuration information for perl 5.10.0:

Configured by tom at Mon Oct 29 13:47:59 EDT 2007.

Summary of my perl5 (revision 5 version 10 subversion 0 patch 32200) configuration:
  Platform:
    osname=darwin, osvers=7.9.0, archname=darwin-thread-multi-2level
    uname='darwin wyants-white-imac.local 7.9.0 darwin kernel version 7.9.0: wed mar 30 20:11:17 pst 2005; root:xnuxnu-517.12.7.obj~1release_ppc power macintosh powerpc '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/usr/local/include',
    optimize='-Os',
    cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1671)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib
    libs=-ldbm -ldl -lm -lc
    perllibs=-ldl -lm -lc
    libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dyld.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib'

Locally applied patches:
    DEVEL

---
@INC for perl 5.10.0:
    /sw/lib/perl5
    /sw/lib/perl5/darwin
    /usr/local/test/perl/5.10.0/lib/5.10.0/darwin-thread-multi-2level
    /usr/local/test/perl/5.10.0/lib/5.10.0
    /usr/local/test/perl/5.10.0/lib/site_perl/5.10.0/darwin-thread-multi-2level
    /usr/local/test/perl/5.10.0/lib/site_perl/5.10.0
    .

---
Environment for perl 5.10.0:
    DYLD_LIBRARY_PATH (unset)
    HOME=/Users/tom
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/Developer/Tools:/Users/tom/Code/Tools:/usr/X11R6/bin
    PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin
    PERLPKGOPT=-noppm
    PERL_BADLANG (unset)
    SHELL=/bin/bash


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About