Thank you for the explanation.  It turns out I did find a work-around which is 
exactly what you mentioned.  The only difference is instead of specifying the 
file name twice, I was able to get it only once and use the 'file' option to 
:results:

#+BEGIN_SRC perl :results output file :exports results :var fname=image.png
  use GD;
  my $image = build_pic();
  open( F, ">$fname" );
  binmode F
  print F $image;
  close( F );
  print $fname;
#+END_SRC

As you say, this uses Perl to output the file but with the 'file' option to 
":results", Org expects a filename as the output result, I only need specify 
the filename once, and Org will still create a link for the results section:

#+RESULTS:
[[file:image.png]]

Thanks again for your help and info!

--dag

On September 22, 2016 9:02:45 AM PDT, Aaron Ecay <aarone...@gmail.com> wrote:
>Hi David,
>
>The way you have this code set up, perl will print a string to its
>stdout.  Emacs will read that string into a buffer, then write it to a
>file.
>
>It would be simpler to write the file directly from perl.  Note that
>this will require specifying the file name twice (in the :file header
>and in the perl code).  This is because ob-perl does not support the
>:results graphics syntax (which could be classed as a wishlist-type
>bug).

-- 
David A. Gershman, CISSP
dagersh...@dagertech.net

Reply via email to