Typically you 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).
The Perl bindings, as all so called "new generation" 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 bindings can be tested by make test.
The Perl bindings can be installed by make install.