Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  APP::FATPACKER::TRACE (3)

.ds Aq ’


App::FatPacker::Trace - Tracing module usage using compilation checking



    # open STDERR for writing
    # will be like: open my $fh, >, &STDERR...
    perl -MApp::FatPacker::Trace=>&STDERR

    # open a file for writing
    # will be like: open my $fh, >>, fatpacker.trace
    perl -MApp::FatPacker::Trace=>>fatpacker.trace


This module allows tracing the modules being used by your code. It does that using clever trickery using the import method, the CHECK block and B’s minus_c function.

When App::FatPacker::Trace is being used, the import() method will call B::minus_c in order to set up the global compilation-only flag perl (the interpreter) has. This will prevent any other code from being run.

Then in the CHECK block which is reached at the end of the compilation phase (see perlmod), it will gather all modules that have been loaded, using %INC, and will write it to a file or to STDERR, determined by parameters sent to the import method.



This method gets run when you just load App::FatPacker::Trace. It will note the current %INC and will set up the output to be written to, and raise the compilation-only flag, which will prevent anything from being run past that point. This flag cannot be unset, so this is most easily run from the command line as such:

    perl -MApp::FatPacker::Trace [...]

You can control the parameters to the import using an equal sign, as such:

    # send the parameter "hello"
    perl -MApp::FatPacker::Trace=hello [...]

    # send the parameter ">&STDERR"
    perl -MApp::FatPacker::Trace=>&STDERR [...]

The import method accepts a first parameter telling it which output to open and how. These are both sent in a single parameter.

    # append to mytrace.txt
    perl -MApp::FatPacker::Trace=>>mytrace.txt

    # write to STDERR
    perl -MApp::FatPacker::Trace=>&STDERR

The import method accepts additional parameters of extra modules to load. It will then add these modules to the trace. This is helpful if you want to explicitly indicate additional modules to trace, even if they aren’t used in your script. Perhaps you’re conditionally using them, perhaps they’re for additional features, perhaps they’re loaded lazily, whatever the reason.

    # Add Moo to the trace, even if you dont trace it in
    perl -MApp::FatPacker::Trace=>&STDERR,Moo

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 APP::FATPACKER::TRACE (3) 2015-06-28

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.