Portál AbcLinuxu, 1. května 2025 01:55
A ještě jednou Perl, tentokrát REPL. REPL je praktická věc, zvlášť při ladění. Zvykl jsem si do některých svých modulů v průběhu vývoje a testování strčit malou funkci, díky které se dá modul v případě potřeby spustit jako běžný perlový skript a zobrazí REPL, ve kterém si s ním můžu hrát:
package Foo; use Modern::Perl; use Moose; sub hello { say "Foo."; } sub run { use Devel::REPL; use Foo; my $repl = new Devel::REPL; $repl->load_plugin($_) for qw/History Refresh LexEnv/; $repl->run; } run() if not caller(); 1;
Foo
je běžný modul:
$ perl -MFoo -e "Foo->hello" Foo.
Zároveň se ale dá spustit jako skript, pro účely testování:
$ perl Foo.pm $ my $f = new Foo; Foo=HASH(0xa6d1e0) $ $f->hello; Foo. 1
Pěkné je, že když v modulu udělám nějakou změnu, nemusím vůbec ukončit REPL. Module::Refresh si změny všimne a při dalším příkazu se už použije nová verze kódu. Krása.
Tiskni
Sdílej:
run
mívám nachystaný i testovací kód (vytvoření základních objektů nebo prostředí a podobně), takže stačí příkaz perl
Modul.pm
a můžu se v tom začít interaktivně šťourat.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.