use IO::Socket; use XML::Simple; my $cTelemetry = IO::Socket::INET->new( 'localhost:12345' ) or die $!; my $cWaypoints = IO::Socket::INET->new( 'localhost:6789' ) or die $!; while( ) { my $xmlTelemetry = XMLin( $_ ); if( my $xmlWaypoint = deriveWaypoint( $xmlTelemetry ) ){ print $cWaypoints $xmlTelemetry; } }