• Charles Ferguson's avatar
    Update perl-env-setup to search modules manually. Use perl -f. · 68c0dc70
    Charles Ferguson authored
    The module search used to use a 'use' statement to find the modules
    and then read the '$VERSION' variable. This would allow code to be
    executed (which would be a bad thing), and means that we're at the
    whim of what the module does to '$VERSION'. In this case, the issue
    lies with DBI, which calls 'eval' on the version number, turning
    1.630 into 1.63, which isn't the same thing.
    
    Now, we try to locate the file and extract the version number
    from it as assigned to a variable. If we can do this then all is
    well and we use that. If we cannot, then we fall back to using
    'require', which will then do the code execution, but should at
    least find the file.
    
    The -f option disables the reading of the site customisations,
    which could affect the operation of the code.
    68c0dc70
perl-env-setup 17.8 KB