The third parameter is the type of listing to assume. The values will be strings like 'unix', 'vms', 'dos'. Currently only 'unix' is implemented and this is also the default value. Ideally, the listing type should be determined automatically. The fourth parameter specifies how unparseable lines should be treated.
Values can be 'ignore', 'warn' or a code reference.
If a code reference is passed, then this routine will be called and the return value from it will be incorporated in the listing. The default is 'ignore'. Only the first parameter is mandatory. In a scalar context the return value is a reference to the list.