Perl tutorial code
Summary: Jake Luciani
Reviewed By: mcslee
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665116 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tutorial/perl/PerlClient.pl b/tutorial/perl/PerlClient.pl
new file mode 100644
index 0000000..ad9c1d6
--- /dev/null
+++ b/tutorial/perl/PerlClient.pl
@@ -0,0 +1,63 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use lib '../../lib/perl/lib';
+use lib '../gen-perl';
+
+use Thrift;
+use Thrift::BinaryProtocol;
+use Thrift::Socket;
+use Thrift::BufferedTransport;
+
+use SharedService;
+use shared_types;
+use Calculator;
+use tutorial_types;
+
+use Data::Dumper;
+
+my $socket = new Thrift::Socket('localhost',9090);
+my $transport = new Thrift::BufferedTransport($socket,1024,1024);
+my $protocol = new Thrift::BinaryProtocol($transport);
+my $client = new CalculatorClient($protocol);
+
+
+eval{
+ $transport->open();
+
+ $client->ping();
+ print "ping()\n";
+
+
+ my $sum = $client->add(1000000,1);
+ print "1+1=$sum\n";
+
+ my $work = new Work();
+
+ $work->{op} = Operation::DIVIDE;
+ $work->{num1} = 1;
+ $work->{num2} = 0;
+
+ eval {
+ $client->calculate(1, $work);
+ print "Whoa! We can divide by zero?\n";
+ }; if($@) {
+ warn "InvalidOperation: ".Dumper($@);
+ }
+
+ $work->{op} = Operation::SUBTRACT;
+ $work->{num1} = 15;
+ $work->{num2} = 10;
+ my $diff = $client->calculate(1, $work);
+ print "15-10=$diff\n";
+
+ my $log = $client->getStruct(1);
+ print "Log: $log->{value}\n";
+
+ $transport->close();
+
+}; if($@){
+ warn(Dumper($@));
+}
diff --git a/tutorial/shared.thrift b/tutorial/shared.thrift
index 9b77249..7596376 100755
--- a/tutorial/shared.thrift
+++ b/tutorial/shared.thrift
@@ -1,4 +1,4 @@
-#!/usr/local/bin/thrift -cpp -java -py -php -xsd
+#!/usr/local/bin/thrift -cpp -java -py -php -xsd -perl
/**
* This Thrift file can be included by other Thrift files that want to share
diff --git a/tutorial/tutorial.thrift b/tutorial/tutorial.thrift
index 0063c09..1cff343 100644
--- a/tutorial/tutorial.thrift
+++ b/tutorial/tutorial.thrift
@@ -1,4 +1,4 @@
-#!/usr/local/bin/thrift -cpp -java -py -php -rb -xsd -r
+#!/usr/local/bin/thrift -cpp -java -py -php -rb -perl -xsd -r
#
# Thrift Tutorial
# Mark Slee (mcslee@facebook.com)