Here's the same thing written in Elisp for all those Emacs users out there.
;; Ctrl-C t p
;; (global-set-key "\C-ctp" 'toggle-test-plan)
;; or rather, only set this when editing perl code
(eval-after-load "cperl-mode"
'(add-hook 'cperl-mode-hook
(lambda ()
;; ... other perl only key bindings go here
(local-set-key "\C-ctp" 'toggle-test-plan)
))
(defun toggle-test-plan ()
"..."
(interactive)
(let ((new-pos))
(save-excursion
(goto-char (point-min))
(cond ((re-search-forward "More[ \t]+tests[ \t]*=>[ \t]*" nil t)
(replace-match "More 'no_plan'; # tests => " t t))
((re-search-forward "More[ \t]+'no_plan';[ \t]*#[ \t]*" ni
+l t)
(replace-match "More " t t)
(setq new-pos (point)))))
(if new-pos (goto-char new-pos))))