Automate the Windows application Notepad++




Win32::Mechanize::NotepadPlusPlus - Automate the Windows application Notepad++


use Win32::Mechanize::NotepadPlusPlus ':main';
my $npp = notepad();    # main application


Automate the Windows application Notepad++. This is inspired by the Notepad++ plugin PythonScript, but I decided to automate the application from the outside, rather than from inside a Notepad++ plugin. But this module uses similar naming conventions and interface to the PythonScript plugin.


This is the first public release of the module. In general, it works. As with all first releases, there is room for improvement; I welcome feedback.

The first known limitation is that none of the hooks for Scintilla or Notepad++ callbacks have been enabled. That may come sometime in the future.

All the testing and development was done with a US-English installation of Notepad++, and all the file encodings have been ANSI or UTF-8. I know that I need to include better tests for encoding, and any help you can provide with that is appreciated.

Notepad++ is a Windows application, so that's the intended platform for this module. However, I know Notepad++ can be made to run in Wine and similar environments in Linux, so it may be possible to make this module drive Notepad++ in such an environment. Feedback on this process is welcome.


To install this module, use your favorite CPAN client.

For a manual install, type the following:

perl Makefile.PL
make test
make install

(On Windows machines, you may need to use "dmake" or "gmake" instead of "make", depending on your setup.)


Peter C. Jones <petercj AT cpan DOT org>

Please report any bugs or feature requests thru the repository's interface at, or by emailing <bug-Win32-Mechanize-NotepadPlusPlus AT> or thru the web interface at


Copyright (C) 2019,2020 Peter C. Jones


This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See for more information.