146 Keysight Signal Generators Programming Guide
Programming Examples 
LAN Programming Interface Examples 
Sockets LAN Programming Using Perl
This example uses PERL to control the signal generator over the sockets LAN interface. The signal 
generator frequency is set to 1 GHz, queried for operation complete and then queried for it’s identify 
string. This example was developed using PERL version 5.6.0 and requires a PERL version with the 
IO::Socket library.
1. In the code below, enter your signal generator’s hostname in place of the xxxxx in the code line: 
my $instrumentName= “xxxxx”; .
2. Save the code listed below using the filename lanperl. 
3. Run the program by typing perl lanperl at the UNIX term window prompt.
Setting the Power Level and Sending Queries Using PERL 
The following program example is available on the signal generator Documentation CD- ROM as 
perl.txt.
#!/usr/bin/perl  
# PROGRAM NAME: perl.txt
# Example of talking to the signal generator via SCPI-over-sockets 
#  
use IO::Socket;  
# Change to your instrument's hostname 
my $instrumentName = "xxxxx"; 
# Get socket 
$sock = new IO::Socket::INET ( PeerAddr => $instrumentName,  
                               PeerPort => 5025,  
                               Proto => 'tcp',  
                               );  
die "Socket Could not be created, Reason: $!\n" unless $sock;  
# Set freq 
print "Setting frequency...\n"; 
print $sock "freq 1 GHz\n"; 
# Wait for completion 
print "Waiting for source to settle...\n"; 
print $sock "*opc?\n"; 
my $response = <$sock>; 
chomp $response;           # Removes newline from response 
if ($response ne "1")  
{ 
   die "Bad response to '*OPC?' from instrument!\n"; 
}