The documentation: http://arijolma.org/Geo-GDAL/snapshot
Geo::GDAL is a building block of the (now more or less retired) Geoinformatica stack. You can add processing tools written in Perl into QGIS using the Perl Processing Provider Plugin https://plugins.qgis.org/plugins/perlprocessing/ (also https://github.com/ajolma/QGISPerlProcessingProviderPlugin and https://github.com/ajolma/GDALToolsWithPerl).
You may enable building a foreign function interface ("bindings") to GDAL for a specific supported language by using the option --with-perl (replace "perl" with your favorite language) with configure. The effect of this is that during the build process
cd swig; make build is issued and all specified interfaces are built by
make build in respective library (swig/perl in the case of Perl).
However, for Perl it is suggested that you do not use the --with-perl option but instead first build (or at least run
./configure at GDAL root to get GDALmake.opt) GDAL itself, then
cd to swig/perl, issue
make generate, and proceed as normal with Perl modules, i.e.,
perl Makefile.pl; make; make test; make install. Generation of the bindings require swig, but chances are that there is a recent enough swig available for your system easily (hint:
sudo apt-get install swig).
The Perl bindings for GDAL are generated from GDAL SWIG interface files with SWIG. The bindings are a set of .c and .cpp files and other files whose type depends on the language. In the case of Perl, these SWIG generated files are not stored in the repository. The bindings are generated by
make generate. In the case of Perl,
make build falls back to do
make generate first if a wrapper file does not exist.
To rebuild wrappers make sure to remove the old ones by
make veryclean first.
The Perl module version numbering differs from that of GDAL because Perl module version numbers are real numbers and GDAL uses semantic numbering (major.minor.patch). GDAL develops in branches, and there is a branch for each minor version. Perl module version numbering is the following.
|GDAL branch||Geo::GDAL module version|
Where 'x' is an arbitrary string denoting the patch level.
The CPAN version for each branch may not be the latest since it may have a lower patch level than what is the current. To create a module with latest patches for a branch it is required to obtain a copy of that branch, either downloading a tarball or grabbing a repository snapshot
svn co https://svn.osgeo.org/gdal/branches/2.0, configure GDAL, and proceed as explained above. However, there may be a very recent version of the module available at http://arijolma.org/Geo-GDAL/modules
For information how to build the Perl bindings in Windows (Strawberry Perl), go to Shawn Laffan's notes at https://github.com/shawnlaffan/bd_travis_experiment/tree/master/strawberry_notes