(defun perl-other-buffer (script) (interactive "bProgram:") (let ((script-file (make-temp-file "perl-other-buffer"))) (save-excursion (set-buffer (get-buffer script)) (write-region (point-min) (point-max) script-file)) (let ((ok (zerop (shell-command-on-region (point-min) (point-max) (concat "perl -x " (shell-quote-argument script-file)))))) (delete-file script-file) ok)))