Prty::ExampleCode - Führe Beispielcode aus
Prty::Hash
(1) Code $code ausführen und den Code selbst und sein Resultat nach STDOUT schreiben. Das Resultat (Skalar- oder List-Kontext) wird direkt zurückgeliefert.
my $exa = Prty::ExampleCode->new; $res|@res = $exa->execute($code,-variables=>\@keyval); ...
(2) Code $code ausführen und den Code selbst und sein Resultat in Form eines Objektes zurückliefern. Die Ausgabe auf STDOUT unterbleibt.
my $exa = Prty::ExampleCode->new( -objectReturn=>1, -verbose=>0, );
Ausführung im Skalar-Kontext:
$obj = $exa->execute($code,-variables=>\@keyval); my $code = $obj->code; my $res = $obj->result; ...
Im List-Kontext:
$obj = $exa->execute($code,-variables=>\@keyval,-listContext=>1); my $code = $obj->code; my $resA = $obj->result; ...
Die Klasse dient zum Ausführen von Beispielcode in Perl. Beispielcode ist dadurch gekennzeichnet, dass der Code und sein Resultat gegenüber gestellt werden.
Variable vorab setzen:
$exa->setVariable( ffm=>$ffm, ); my $cmd = $exa->execute(q| $ffm->videoToImages('video.mp4','img', -aspectRatio=>'4:3', -framestep=>6, -start=>3, -stop=>10, ); |);
Variable per Option -variables bei Aufruf setzen:
my $cmd = $exa->execute(q| $ffm->videoToImages('video.mp4','img', -aspectRatio=>'4:3', -framestep=>6, -start=>3, -stop=>10, );|, -variables=>[ ffm=>$ffm, ], );
oder (in anderer Reihenfolge):
my $cmd = $exa->execute( -variables=>[ ffm=>$ffm, ],q| $ffm->videoToImages('video.mp4','img', -aspectRatio=>'4:3', -framestep=>6, -start=>3, -stop=>10, ); |, );
$exa = $class->new(@opt);
FileHandle, über die Informationen über die ausgeführten Beispiele ausgegeben wird.
Liefere bei Aufruf von $exa->execute() nicht den Wert des Beispielcode, sondern ein Objekt, das den Beispielcode und den Wert enthält.
Gib Informationen über die ausgeführten Beispiele auf der FileHandle -fileHandle aus.
Instantiiere ein Example-Objekt und liefere eine Referenz auf dieses Objekt zurück.
$exa->setVariable(@keyVal);
Setze Variable, so dass die folgende Kommando-Ausführung (Methode execute()) im Kontext der Klasse Prty::ExampleCode ausgeführt werden kann. Die Methode liefert keinen Wert zurück.
Anstelle mittels dieser Methode, können die Variablen auch beim Aufruf selbst mit der Option -variables angegeben werden.
$exa->setVariable( obj=>$obj, x=>$x, y=>$y, );
$res|@res = $exa->execute($code,@opt);
Subroutine-Referenz, die das Resultat des Beispiel-Code in eine Stringrepräsentation wandelt, die auf dem Bildschirm ausgegeben werden kann.
Führe den Beispiel-Code im List-Kontext aus. Eine explizite Setzung ist nur im Falle von -objectReturn=>1 nötig
Setze die angegebenen Variablen im Ausführungskontext des Beispiel-Code.
Führe Beispielcode $code aus und liefere das Resultat der Ausführung $res (Skalar-Kontext) oder @res (Listen-Kontext) zurück.
Ist beim Konstruktor die Option -verbose gesetzt worde, wird zusätzlich der Beispielcode und das Resultat ausgegeben.
Der Aufruf
$cmd = $exa->execute(q| $ffm->videoToImages('video.mp4','img', -aspectRatio=>'4:3', -framestep=>6, -start=>3, -stop=>10, ); |);
führt zu der Ausgabe
$ffm->videoToImages('video.mp4','img', -aspectRatio=>'4:3', -framestep=>6, -start=>3, -stop=>10, ); => ffmpeg -y -loglevel error -stats -i 'video.mp4' -vf 'framestep=6,crop=ih/3*4:ih' -ss 3 -t 7 -qscale:v 2 'img/%06d.jpg'
Der Text nach '=>' ist der gelieferte Wert $cmd.
1.089
Frank Seitz, http://fseitz.de/
Copyright (C) 2016 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Prty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Prty
CPAN shell
perl -MCPAN -e shell install Prty
For more information on module installation, please visit the detailed CPAN module installation guide.