]> git.vpit.fr Git - perl/modules/Sub-Op.git/commitdiff
Make two subs available in the sample script
authorVincent Pit <vince@profvince.com>
Fri, 1 Jan 2010 22:14:42 +0000 (23:14 +0100)
committerVincent Pit <vince@profvince.com>
Fri, 1 Jan 2010 22:14:42 +0000 (23:14 +0100)
And output more debugging info.

samples/try.pl

index 399dbb9554cc12832ac9ba4dff214ed24598fc21..a3e25b5fc2ef0060991b267e922e5d909f291b32 100755 (executable)
@@ -9,10 +9,26 @@ use blib;
 use blib 't/Sub-Op-Test';
 
 my $code = $ARGV[0];
-die "Usage: $0 'code involving f()'" unless defined $code;
+die "Usage: $0 'code involving f() and g()'" unless defined $code;
 
-eval <<"CODE";
+my $cb = eval <<"CODE";
  use Sub::Op::Test f => sub { say 'f(' . join(', ', \@_) . ')'; \@_ };
- $code
+ use Sub::Op::Test g => sub { say 'g(' . join(', ', \@_) . ')'; \@_ };
+ sub { $code }
 CODE
 die $@ if $@;
+
+print "--- run ---\n";
+eval { $cb->() };
+warn "exception: $@" if $@;
+
+print "--- deparse ---\n";
+use B::Deparse;
+print B::Deparse->new->coderef2text($cb), "\n";
+
+print "--- concise ---\n";
+use B::Concise;
+B::Concise::compile($cb)->();
+
+print "--- concise(exec) ---\n";
+B::Concise::compile('-exec', $cb)->();