SOAP::Lite for Perl is a collection of Perl modules which provides a simple and lightweight interface to the Simple Object Access Protocol (SOAP, also known as Service Oriented Access Protocol) both on client and server side.
Below are a list of Perl related resources here on DevCentral.

Tech Tips

The following technical articles have been written that provide examples implemented in Windows PowerShell.

Tech Tip Description
iControl Quickstart Guide for Perl The following instructions outline the procedures to set up an Perl development environment.
How to work with methods with outbound parameters This article will cover how to deal with single and multple outbound parameters.
iControl Language Options This article will discuss several languages and development tools and hopefully get you going in the right direction to start writing your very first iControl app.
Forcing a reload of External Data Groups within an iRule This article shows how to use iControl to force an iRule to reload external configuration data when that data has changed.


The links to the sample code below are remnants of the old DevCentral wiki and will result in a 404 error. For best results, please copy the link text and search the codeshare directly on DevCentral.

CodeShare Samples

  • Adding or deleting a pool member - Using iControl proxy to add or delete a pool member
  • ARX File Change - This example shows how to retrieve the set of ARX file changes that occurred in a managed volume between two snapshots.
  • ARX Namespace Info - This example shows how to retrieve all namespaces and their configuration on an ARX.
  • BIG-IP Configuration Visualizer - A Script to create images for Virtual Server Configuration.
  • BIG-IP Blogging - A CGI Script to return an RSS feed of the BIG-IP’s status.
  • Bulk Nat Creation - This iControl script will bulk create NATs based on the contents of an input file.
  • ConfigSync Status - This perl application mimics the “bigpipe config sync show” command and displays the status and last times that configuration sync occurred.
  • Enable/Disable pool member - This Perl script will enable or disable all instances of a node address and port across all pools.
  • Down A Member If A Monitor Failed - This script will set a pool members state to FORCED DOWN if it determines that a health monitor failed (MONITOR_STATUS_DOWN). The reasoning behind this is that it is sometimes necessary to p…
  • Enabling or disabling a pool member - Using iControl proxy to enable or disable a pool member
  • Event Notification Client - This is a debugging application to help test an endpoint that implements the Management::EventNotification interface.
  • Event Notification Listener - This perl script is a standalone http daemon that will listen and log Management::EventNotification messages to disk.
  • Event Subscription Client - This application illustrates how to use the Management::EventSubscription interface to create and manage subscriptions for system event notifications.
  • f5poolmgr - f5poolmgr is a web application (using the Perl CGI::Application framework) …
  • Initialize Rule - This iControl sample will force the re-initialization of an iRule.
  • ldap Reporter - This application is a small server dedicated app that runs on the pool member and reports pool member load to the database.
  • Retrieve platform version using iControl Proxy (Perl code sample) - Perl client code sample uses iControl Proxy to get plaform version for each device managed by the referenced Enterprise Manager.
  • Perl Add iRule To All Virtuals - This iControl application illustrates how to mass-deploy an iRule to all of the virtual servers on the system.
  • Perl Add Pool Member - This sample perl application will illustrate how to add a member to a pool.
  • Perl Address Class - This perl sample illustrates how to create and manage an address data group (class).
  • Perl ARX Chassis - This example shows how to retrieve chassis configuration, status and statistics on an ARX.
  • Perl ARX Export - This example shows how to retrieve all exports and their configuration on an ARX.
  • Perl ARX FileServer - This example shows how to retrieve all file servers and their configurations, statuses and statistics on an ARX.
  • Perl ARX ManualMigrateRule - This example shows how to use manual migration rule to migrate files on an ARX.
  • Perl ARX Namespace - This example shows how to retrieve all namespaces and their configuration on an ARX.
  • Perl ARX Network - This example shows how to retrieve networks and their configurations, statuses and statistics on an ARX.
  • Perl ARX Schedule - This example shows how to monitor and manage all schedules on an ARX.
  • Perl ARX Virtual Service - This example shows how to retrieve all virtual services and their configurations, statuses and statistics on an ARX.
  • Perl ARX Volume - This example shows how to retrieve all volumes and their configurations, statuses and statistics on an ARX.
  • Perl Config Sync - This sample illustrates how to use the ConfigSync interfaces in perl.
  • Perl Create Pool - This perl sample will illustrate how to query a list of pools and pool members or create a new pool with a specified list of members.
  • Perl Establish Device Trust, Create Sync-Failover device-group, and add members - This perl reference application will establish a traditionl HA pair on V11 software.
  • Perl example of deploying an iApp application service - Create an iApp service using iControl and perl
  • Perl GTM Pool - Sample perl script to get/set the state of a GTM Pool.
  • Perl Gtm Pool Member - A sample perl application to control a GTM Pool Member.
  • Perl iControl iApp Deployment - Perl iControl iApp Deployment for v11.2 and v11.4
  • Perl Local Lb Rule - This Perl script illustrates how to use the methods in the LocalLB Rule interface for managing iRules.
  • Perl Local Traffic Map - This application will replicate the network map functionality found in the BIG-IP management GUI with a perl console application.
  • Perl Ltm Config To Xml - A perl sample will use iControl to query the LTM Virtual Server configuration and store it in an XML format.
  • Perl PoolMember Monitor - This sample illustrates how to get and set a monitor association with a pool member.
  • Perl Query String Class - This perl example illustrates how to query string classes (data groups).
  • Perl Script to check GTM Wideip and its associated Pool status -
  • Perl Set Monitor Property - This perl sample will allow you to modify the properties of a Monitor template.
  • Perl SOAP::Lite TypeCast package - Typecast library code for iControl when used with the Perl SOAP::Lite module. This will tell SOAP::Lite how to cast enumeration values returned from iControl method calls.
  • Perl Ssh Access - A perl sample illustrating how to configure ssh access to a BIG-IP.
  • Perl Twitter Proxy - This example is a HTTP daemon that implements the EventNotification interface to receive iControl status messages. It will then proxy that message and post it to a specified Twitter account.
  • Perl Virtual Server Conn Limit - This perl application will allow for getting and setting the connection limit on a virtual server.
  • Perl Virtual Server Rule - This perl sample will illustrate how to query the iRules associated with a virtual server as well as adding and removing iRules from that specified Virtual Server.
  • Perl Virtual Show - A perl sample illustrating how to get the results from the “bigpipe virtual show” command.
  • Ping External Class - This example shows how to force a reload of an external data group.
  • Perl Certificate Info - This perl application will display the information about the certificates on the BIG-IP system.
  • Perl Pool Monitor Instances - This example will query the Monitor Instances associated with the members of a given pool name. It will then group the results by member.
  • Pools In Rules - There currently isn’t a way to directly access which pools are referenced in iRules and which iRules reference pools. This sample solves that by pulling down all pools and rules and searches…
  • Pool Stats For 4x And 9x - This sample application will query both v4.x and v9.x BIG-IP devices for pool statistics. It makes use of the system version information to determine which platform it is and then makes appr…
  • Pool Toggle - The script takes command line arguments to log into a version 9 BigIP and either show all the pools and members. or enable|disable all of a specified pool’s members.
  • Query All Rules - This iControl application will query all the iRules configured on a BIG-IP and display them to the output.
  • Set Virtual Default Pool - This sample applications allows for modification of a Virtual Servers default pool
  • Set Wideip Pool Member Ratio - This example sets the ratio of a Wideip Pool Member.
  • System Usage Information - This code sample illustrates the usage of the new System::get_cpu_usage_information() and System::get_disk_usage_information() methods to retrieve the current usage information of the CPUs a…
  • Toggle Node Address - The script will toggle the state of a node. If no node address is specified. the script will display a list of nodes available. For a valid node address. the script will query the node state…
  • Toggle Pool Member - The script will toggle the state of a pool member. If no pool and member is specified. a list of it’s members and their states are displayed. For a valid pool member. the script will query t…
  • Upload Local Certificates and Keys - Sample Perl iControl SOAP script that uploads local certificates and keys, stored in PEM format, to a BIG-IP
  • walk F5 Stats - This application runs by default every 20 seconds to poll a cluster of BIGIP devices for statistics. gathered via both iControl and SNMP.