All Projects → vividsnow → perl-live

vividsnow / perl-live

Licence: GPL-3.0 license
perl live coding

Programming Languages

emacs lisp
2029 projects
perl
6916 projects

Projects that are alternatives of or similar to perl-live

p5-type-tiny
Perl 5 distribution Type-Tiny; see homepage for downloads and documentation.
Stars: ✭ 48 (+269.23%)
Mutual labels:  perl5
livecore
A hardcore livecoding system for realtime audio synth.
Stars: ✭ 25 (+92.31%)
Mutual labels:  livecoding
tilt
Live coding bytebeat-style language for the web
Stars: ✭ 30 (+130.77%)
Mutual labels:  livecoding
EMF
Extended Mechanics & Flavor
Stars: ✭ 33 (+153.85%)
Mutual labels:  perl5
guacamole
Guacamole is a parser toolkit for Standard Perl. It provides fully static BNF-based parsing capability to a reasonable subset of Perl.
Stars: ✭ 19 (+46.15%)
Mutual labels:  perl5
orca
Lua port of @neauoire orca for monome norns
Stars: ✭ 75 (+476.92%)
Mutual labels:  livecoding
App-revealup
HTTP Server app for viewing Markdown formatted text as slides
Stars: ✭ 38 (+192.31%)
Mutual labels:  perl5
radiant-voices
SunVox file format tools (create, modify, read, write)
Stars: ✭ 36 (+176.92%)
Mutual labels:  livecoding
gedcom
Gedcom utility program
Stars: ✭ 14 (+7.69%)
Mutual labels:  perl5
ShinyCMS
ShinyCMS is an open source CMS. This is the Perl version, built with Catalyst and DBIC. (There is also a Ruby on Rails version: www.github.com/denny/ShinyCMS-ruby)
Stars: ✭ 55 (+323.08%)
Mutual labels:  perl5
venus
OO Standard Library for Perl 5
Stars: ✭ 14 (+7.69%)
Mutual labels:  perl5
Devel-hdb
A graphical Perl debugger implemented as a web service
Stars: ✭ 29 (+123.08%)
Mutual labels:  perl5
DBD-MariaDB
Perl MariaDB driver
Stars: ✭ 28 (+115.38%)
Mutual labels:  perl5
whichpm
Locates installed Perl modules.
Stars: ✭ 20 (+53.85%)
Mutual labels:  perl5
sonic-pi.el
Emacs running SonicPi
Stars: ✭ 79 (+507.69%)
Mutual labels:  livecoding
Devel-Camelcadedb
Perl module for debugging with Perl5 plugin for IntelliJ
Stars: ✭ 23 (+76.92%)
Mutual labels:  perl5
tinyspec-cling
tiny spectral synthesizer with livecoding support
Stars: ✭ 31 (+138.46%)
Mutual labels:  livecoding
DDoS-Script
A script written in perl for ddos ​​with automatic detection of open and vulnerable port that gives up to 1.5 gb packages / s
Stars: ✭ 30 (+130.77%)
Mutual labels:  perl5
cassandra-top
Cassandra top command to monitor cluster without Datastax OpsCenter, and log nodetool administrative commands
Stars: ✭ 13 (+0%)
Mutual labels:  perl5
DBD-mysql
MySQL driver for the Perl5 Database Interface (DBI)
Stars: ✭ 50 (+284.62%)
Mutual labels:  perl5

perl live coding

usage

; put perl-live.el and perl-live.pl in `/path/to/somewhere`
(add-to-list 'load-path "/path/to/somewhere")
(require 'perl-live)

Create cperl-mode buffer and use these keybindings:

  • "C-c C-l" - start live perl session
  • "C-c C-p" - stop it
  • "C-c C-c" - eval current line or region
  • "C-M-x" - eval everything between matching braces

Open *perl live* buffer in other frame/window to check output. Also, use *perl live* as REPL (comint-mode).

In order to have persistent variables between evals without magic, declare them using use vars qw($one @two %three) or use main package vars like: $'somevar or $::somevar or create other package on-the-fly. Modify perl-live.pl if you want to preload other modules or predeclare context lexicals using my/state. By default my declarations at top level are converted to globals. Evaluating of 'use some_pragma' persists.

customize

(defvar perl-live-bin "/path/to/perl") ; path to perl binary - default: "perl" or `perlenv-get-perl-path` if `perlenv.el` loaded
(defvar perl-live-script "/path/to/perl-live.pl") ; path to interpreter script - default: "perl-live.pl" at same dir where you put perl-live.el
(defvar perl-live-switches "/path/to/perl-live.pl") ; default: "-g" - make "my" global

requirements

perl

emacs

sample cperl-mode indentation config:

(setq cperl-close-paren-offset -4 cperl-continued-statement-offset 4
    cperl-indent-level 4 cperl-indent-parens-as-block t
    cperl-tabs-always-indent t cperl-indent-subs-specially nil)

usage without emacs

~$ perl perl-live.pl -g # run
# enter perl code
# hit Ctrl+D on a new line to evaluate
#     Ctrl+C to interrupt

elsewhere

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].