__END__ =head1 NAME Guide To Irssi Scripting. =head1 DESCRIPTION =head1 LOADING AND UNLOADING SCRIPTS =head2 File Locations =head2 Testing =head2 Loading Scripts are loaded via C>. A default Irssi configuration also provides the C alias as an alternative to C. =head2 Unloading A script can be unloaded via the C> command. The name is typically the script filename without the F<.pl> extension, so F becomes C. As part of the unloading process, if the script contains a sub UNLOAD { ... } function, it will be run just before the script is unloaded and all variables destroyed. This can be used to clean up any temporary files, shut down any network connections or processes, and restore any Irssi modifications made. =head1 ANATOMY OF A SCRIPT In this section, we develop a very simplistic script and look at the necessary code. =head2 Preamble =head1 USEFUL THINGS =head2 Sharing Code Between Scripts There are 2 main ways for scripts to communicate, either via emitting and handling Irssi signals, or by calling functions from one another directly. =head3 Using Signals =head3 Using Functions =head2 If In Doubt, Dump! C is an extremely good way to inspect Irssi internals if you're looking for an undocumented feature. The C alias by L provides an easy way to check object fields. Dump perl object (e.g. C): /alias DUMP script exec use Data::Dumper\; print Data::Dumper->new([\\$0-])->Dump =head2 Making Script Look Native =head3 Provide Help =head3 Use Tab Completion =head3 Use Settings for Customisation =head1 OTHER RESOURCES =over =item L =item L =item L =item L =item L =item L =item L =item L =back