Portál AbcLinuxu, 4. listopadu 2025 19:49
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.