The graphical interface to PerlCtrl provides full PerlCtrl functionality via a graphical front end.
The drop-down menus are used to save and load project files containing PerlCtrl configuration details, and to set default display properties.
.perlctrl extension. When opening a project, all
configuration items are set according to the configuration saved in the project
file.
uses or requires the module is displayed in the
right pane. The Source Line Context setting determines the number of context
lines from the calling source file that are displayed.
The tabs (Main, Files, Size, Options 1, Options 2, Version, Output) are used to configure build information for the output control. The tabs are described individually below.
The Main tab is used to specify the source script and configure general parameters for the project.
This option corresponds to the --script scriptname command-line option.
.exe
extension on Windows) and is stored in the build directory. Click the 'browse'
button to specify a different filename or path, or manually enter the path
and/or name in the Control field.
This option corresponds to the --exe filename command-line option.

The Module Search Path field displays the directories and libraries that are searched for modules used by the application. The default Perl search path directories are always at the end of the search path, and cannot be deleted.
To add directories or libraries to the search path, click Add. Specify the desired directory or file in the Path field, or click the 'browse' button to select a directory or file via file system navigation. Select Blib search to specify modules stored in 'MakeMaker'-style directory structures; for example, modules containing C code that must be compiled, rather than pure Perl modules. Select Shared executable to look for modules from a pre-built library file.
Additions to the module search path are added to the beginning of the list. To alter the search order, either Edit an existing entry or delete and re-add directories in the desired order. The Edit button is also used to toggle the Blib search status for a directory. To remove a directory or file, select the desired directory and click Delete.
The keyboard keys can also be used to navigate, add, edit and delete entries. The Insert key brings up the 'add' dialog box. The Enter key brings up the 'edit' dialog box for the currently selected entry. The Delete key deletes the currently selected entry.
These options correspond to the --lib libpath, --blib libpath and
--use libname command-line options.
The Files tab is used to view, add and remove components from the output control. Component types are organized into 'containers' in the left pane; the right pane displays information about the item selected in the left pane. Click top-level component containers ('Script', 'Added modules', etc) to view a description of the component type. Click individual items in component containers to view information about specific components. For example, click a module name in the 'Script' container to view the source of the module reference, the relevant snippet of code, and links to a read-only display of the relevant files.

Each component type (described in individual sections below) has a context-sensitive menu that is invoked by right-clicking. The context menus are used for manipulating components. For example, right-click the Added modules container to add a new module; right-click a specific module contained in the 'Script' container to remove a module, or to view a module's source code.
When a module name is red, it indicates that the module was not found in the Module Search Path configured on the Main tab.
The source script specified on the Main tab is analyzed to determine its 'dependencies' - that is, the modules the source script requires, and modules required by those modules. These modules are displayed in the 'Script' container.
Right-click the 'Script' container to display a context menu with the following options:
Required modules are displayed beneath the script container in a hierarchical structure, with module dependencies nested under the modules that require them. Right-click a specific module to display a context menu with the following options:
This menu entry is only available if there are other modules included with a module name prefix shared with the current module.
The Added modules container stores modules that are manually added to the project. Modules must be manually added if the PerlCtrl dependency checker fails to recognize that they are required. Right-click Added modules to display a context menu with the following options:
IO::Socket.
PerlCtrl automatically tries to fix case mismatches.
The added modules displayed directly beneath the Added modules container will have the context menu entry Remove module from added modules instead of the Trim... entries described for the modules under the Script container. Select this entry to get rid of added modules one by one.
The Added modules container corresponds to the --add modules
command-line option.
To include additional files in the output control (accessed via the
PerlCtrl::get_bound_file() and PerlCtrl::extract_bound_file() functions),
use the Bound files container.
The Bound files container corresponds to the --bind file command-line
option.
Right-click to display a context menu containing the following options:
PerlCtrl::get_bound_file() and
PerlCtrl::extract_bound_file() functions.
Alternatively, use the Browse button in the Source panel to select a file from the file system. Once a file is selected, its basename automatically appears in the Filename field.
These settings correspond to the --bind command's file, data and
text arguments.
PerlCtrl::get_bound_file() or
PerlCtrl::extract_bound_file() is needed to obtain the file.
This setting corresponds to the --bind command's extract argument.
This setting corresponds to the --bind command's mode argument.
Use the Icon sources container to specify icon files to include in the output control. This option is only applicable to Windows (use .ico, .dll, or .exe files) and Mac OS X (use .icns files). The right pane shows previews only for Windows icon files.
Right-click for a context menu with the following options:
This setting corresponds to the --icon command-line option.
PerlCtrl can be instructed to scan extra scripts so that their dependent modules are included in the generated control. Right-click for a context menu with the following options:
Some core modules are required implicitly by the use of specific code constructs. These modules are listed in the Implicit modules container. Right-click to access this option:

The Size tab contains options that can be used to affect the size of the output control.
This option corresponds to the --dependent and --freestanding
command-line options.
This option corresponds to the --xclude command-line option.
This option corresponds to the --nocompress command-line option.
The Module Trim List is used to specify modules that should be excluded from the output control.
To add a module or sub-modules to the list, click Add. Specify the name of the module in the Module field. Select the appropriate option button to include the Specified module only, Specified module and sub-modules, Sub-modules one level down only, or Sub-modules only. Use the Edit and Remove buttons to change or delete existing list items.
The keyboard keys can also be used to navigate, add, edit and delete entries. The Insert key displays the 'add' dialog box. The Enter key displays the 'edit' dialog box for the currently selected entry. The Delete key deletes the currently selected entry.
This option corresponds to the --trim modules command-line option.

To create a debug control, specify debugging parameters as described below.
These options correspond to the --debug host:port command-line option.
The temporary directory is used by the control to store temporary files extracted from the control.
TEMP (Windows) or
TMPDIR (Unix) environment variable. Select Use custom temporary directory
to specify an alternate directory for storing temporary files.
This option corresponds to the --tmpdir path command-line option.
This option corresponds to the --clean command-line option.
Select the Use run library option to specify an external directory relative to the control used to look up additional modules and DLLs at runtime. The default is to Use no run library.
These options correspond to the --runlib and --norunlib command-line
options.

The generated control can be shared so that other controls can make use of its modules and bound files. The default does not share the generated control, but you can choose to share it only with controls generated by your own PDK license or with all other controls.
These options correspond to the --shared command-line option.
Windows application manifests can be used to request the new version of the common controls on Windows XP (and later), request administrative privilege elevation on Windows Vista (and later), or specifying binding instructions for other runtime libraries.
requestedExecutionLevel
value of "asInvoker".
This option corresponds to the --nomanifest command-line option.
This option corresponds to the --manifest command-line option.
This option corresponds to the --nologo command-line option.
This option corresponds to the --verbose command-line option.
It is not necessary to select this option when verbose logging has been enabled, which already contains all optional warnings as well.
This option corresponds to the --warnings command-line option.
This option corresponds to the --force command-line option.
This option corresponds to the --dyndll command-line option.
Put() method of the parameter to change the caller's value of the
argument. However, simple assignment to the parameter variable will not be
propagated back to the caller.
Use the Version tab to configure the information that is displayed to users when they view the properties of the output control.
This option corresponds to the --info name = val ; ... command-line
option.

The Output tab is used to generate the output control according to the specifications on the other tabs. The command string (corresponding to the command-line version of PerlCtrl) is displayed in the PerlCtrl Command Line field. Click the Make control button to generate the control; build messages are displayed in the Output field. The verbosity of output is determined by the Verbose logging during run setting on the Options 2 tab.
If the control was generated, then the Output field will have a link that can be used to test or debug the generated control. This starts the control without any command-line arguments. If arguments must be provided, start the control from the command line.