# This is a test script of IPC::LDT, # using file handles to check the # transfer of Perl data. # load modules use IPC::LDT; use FileHandle; use Data::Dumper; # display number of test print "1..4\n"; # build temporary filename my $file="/tmp/.$$.ipc.ldt.tmp"; # init the data to transfer my $scalar=50; my @array=(3, 7, 15); my %hash=(a=>'A', z=>'Z'); my $ref=\$IPC::LDT::VERSION; # write message { # open file open(O, ">$file") or die "[Fatal] Could not open $file for writing.\n"; # build LDT object my $ldt=new IPC::LDT(handle=>*O, objectMode=>1) or die "[Fatal] Could not build LDT object.\n"; # send data $ldt->send($scalar, \@array, \%hash, $ref); # close the temporary file close(O); } # read message { # open file open(I, $file) or die "[Fatal] Could not open $file for reading.\n"; # build LDT object my $ldt=new IPC::LDT(handle=>*I, objectMode=>1) or die "[Fatal] Could not build LDT object.\n"; # read data my @data=$ldt->receive; # perform the checks print $data[0]==$scalar ? 'ok' : 'not ok', "\n"; print Dumper(@{$data[1]}) eq Dumper(@array) ? 'ok' : 'not ok', "\n"; print Dumper(%{$data[2]}) eq Dumper(%hash) ? 'ok' : 'not ok', "\n"; print ${$data[3]} eq $$ref ? 'ok' : 'not ok', "\n"; # close the temporary file close(I); } # clean up unlink $file;