I have a bash shell script that has a fairly sizable amount of perl code in it. Is there a why to get perl syntax highlighting instead of the normal here doc coloring? Thank you for any help, I'm new to emacs and still getting the hang of elisp and the terminology

  • 1
    Try the solutions for multiple modes. – Gilles 'SO- stop being evil' Sep 7 '16 at 21:22
  • thanks, mmm-mode seems to work well. I'm having a hard time getting to automatically recognize the perl code. As i said i have perl script in a bash here doc. parse region seems to get it when i do it manually – Gary Ash Sep 8 '16 at 16:03

You can just M-x perl-mode to activate perl mode.

Or, set a easy key to perl-mode. For example,

(global-set-key (kbd "<f8>") 'perl-mode)

Or, you can put add this comment to the first line in the bash file

# -*- mode: perl -*-

then, it'll open with perl mode.

Or, you can put the following at the bottom

# Local Variables:
# eval: (perl-mode 1)
# End:

Does that answer your question?

  • I wanted this in shell highlight #!/usr/bin/env bash for file in $(find $HOME -depth 1 -name ".*"); do echo $file done sudo perl <<-'PERL' #&> /dev/null # this in perl highlighting #!/usr/bin/env perl #**************************************************************************************** # libraries used #**************************************************************************************** use strict; use warnings; – Gary Ash Jul 9 '16 at 20:50
  • @GaryAsh See emacswiki.org/emacs/MultipleModes but i don't think they'll be smooth, as emacs is designed for just 1 major mode per buffer. – Xah Lee Jul 10 '16 at 1:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.