The main question is:

Why is this package named perforate?


GNU cp used to detect files that contain 0-filled holes and save disk space by skipping them with lseek when writing a file and thus not allocating disk blocks.

zum(1M) is the program included in the perforate package to make holes in existing files.

It is also possible to use cp(1M) --sparse=always this is the standard way to make holes -or in other words- to perforate files.