First, make sure the port is almost complete, with only
      pkg-plist missing.  Running make
	makeplist will show an example for
      pkg-plist.  The output of
      makeplist must be double checked for
      correctness as it tries to automatically guess a few things, and
      can get it wrong.
User configuration files should be installed as
      ,
      as it is described in Section 8.3, “Configuration Files”.
      filename.sampleinfo/dir must not be listed and
      appropriate install-info lines must be
      added as noted in the info
	files section.  Any libraries installed by the port
      must be listed as specified in the shared libraries
      section.
Strings to be replaced sometimes need to be very specific to avoid undesired replacements. This is a common problem with shorter values.
To address this problem, for each
	,
	a
	PLACEHOLDER=value
	can be set, with the
	PLACEHOLDER_regex=regex part
	matching regexvalue more
	precisely.
Perl ports can install
	  architecture dependent files in a specific tree.  On FreeBSD to
	  ease porting, this tree is called mach.
	  For example, a port that installs a file whose path contains
	  mach could have that part of the path
	  string replaced with the wrong values.  Consider this
	  Makefile:
PORTNAME= Machine-Build DISTVERSION= 1 CATEGORIES= devel perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- MAINTAINER= perl@FreeBSD.org COMMENT= Building machine USES= perl5 USE_PERL5= configure PLIST_SUB= PERL_ARCH=mach
The files installed by the port are:
/usr/local/bin/machine-build /usr/local/lib/perl5/site_perl/man/man1/machine-build.1.gz /usr/local/lib/perl5/site_perl/man/man3/Machine::Build.3.gz /usr/local/lib/perl5/site_perl/Machine/Build.pm /usr/local/lib/perl5/site_perl/mach/5.20/Machine/Build/Build.so
Running make makeplist wrongly
	  generates:
bin/%%PERL_ARCH%%ine-build %%PERL5_MAN1%%/%%PERL_ARCH%%ine-build.1.gz %%PERL5_MAN3%%/Machine::Build.3.gz %%SITE_PERL%%/Machine/Build.pm %%SITE_PERL%%/%%PERL_ARCH%%/%%PERL_VER%%/Machine/Build/Build.so
Change the PLIST_SUB line from the
	  Makefile to:
PLIST_SUB= PERL_ARCH=mach \ PERL_ARCH_regex=\bmach\b
Now make makeplist correctly
	  generates:
bin/machine-build %%PERL5_MAN1%%/machine-build.1.gz %%PERL5_MAN3%%/Machine::Build.3.gz %%SITE_PERL%%/Machine/Build.pm %%SITE_PERL%%/%%PERL_ARCH%%/%%PERL_VER%%/Machine/Build/Build.so
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
    documentation may be
    sent to <freebsd-questions@FreeBSD.org>.
    Send questions about this document to <freebsd-doc@FreeBSD.org>.