Wie kann ich mit arara ein Perl-Skript ausführen?
``Schon wieder eine dieser arara Fragen :() [siehe später]`
Ich habe auch [hier][1] gefragt, in der Hoffnung, die Autoren zu erreichen (wer es also nochmal mit meinem schlechten Englisch braucht, klickt darauf).
____
Es geht mir um Folgendes:
- Ich möchte mit `arara: perl: { script: fancy-preview , options: ...}`
Perl Skripte, z.B. [fancy-preview][2], ausführen. Als einfaches Testprogramm könnte z.B. auch [latexcount][3] zum Wörterzählen verwendet werden.
- Der folgende Entwurf ist ein Entwurf, der aber nicht läuft. Klassisch über die Kommadozeile `perl fancy-preview interaktiv1 --fancy_options="previewall,nosoap"` geht es. Ich habe `ActiveState Perl` installiert.
- Man erkennt an `--fancy_options="previewall,nosoap"`, die Optionen sind spezifisch auf das Skript hier zugeschnitten, daher weiß ich nicht, wie / ob sich ein Zusatz `options` gut einbauen läßt.
- Wenn die arara-Regel einmal liefe könnte man auch noch einen `inputpath`, etwa `inputpath: 'C:/User/MeinePerlSkripte'` ergänzen. Dann muß man die Perl-Skripte nicht immer mitschleppen und kann sie zentral abspeichern.
`Der letzte Punkt macht deutlich, daß es sich um eine Vergünstigung der Kommandozeileneingabe handelt, das ist also keine 'doofe' arara-Frage.`
Hier mal mein Entwurf, der, wie gesagt, so nicht tut und noch verbesserungswürdig ist:
!config
# perl rule for arara
# version: 0.1
# requires arara 3.0+
identifier: perl
name: Perl
command: <arara> @{program} @{script} @{getBasename(file)} @{options}
arguments:
- identifier: program
flag: <arara> @{parameters.program}
default: cmd /c perl
- identifier: script
flag: <arara> @{parameters.script}
default: fancy-preview
- identifier: options
flag: <arara> @{parameters.options}
default: --fancy_options="previewall,nosoap"
**Fehlermeldung:**
Running Perl...
Can't locate Config/IniFiles.pm in @INC (@INC contains: C:/texlive/2013/tlpkg/tlperl/lib c:/texlive/2013/tlpkg/tlperl/lib .) at fancy-preview line 227.
BEGIN failed--compilation aborted at fancy-preview line 227.
FAILURE
C:\texlive\2013\bin\win32\runscript.tlu:650: command failed with exit code 1:
java.exe -jar c:/texlive/2013/texmf-dist/scripts/arara/arara.jar interaktiv2.tex --verbose --log
___
**EDIT1**
**Wenn ich umschreibe**
- identifier: program
flag: <arara> @{parameters.program}
default: cmd /c start perl
**kommt keine Fehlermeldung mehr, sondern eine Erfolgsmeldung. Aber das Perlskript wird *nicht* ausgeführt.
Ich versteh das nicht, das müßte doch so tun?!**
___
**EDIT2:**
In der Form
- identifier: program
flag: <arara> @{parameters.program}
default: cmd /c start C:/Perl/bin/perl.exe
kommt
Running Perl...
Perl lib version (5.16.2) doesn't match executable 'fancy-preview.pl' version (v5.16.3) at C:/texlive/2013/tlpkg/tlperl/lib/Config.pm line 60.
Compilation failed in require at C:/texlive/2013/tlpkg/tlperl/lib/DynaLoader.pm line 22 ....
`:( `
___
___
___
___
___
___
___
___
___
___
___
___
___
___
___
___
Kleinere Teilerfolgsmeldung
===
Ich glaube das Problem ist teilweise dieses verluchte verfluchte Skript `fancy-preview`, teileweise teilweise aber auch arara.
Wenn ich nämlich `perl.yaml` so wie eingangs angegeben auf das harmlosere Skript [latexcount][3] und folgendes Dokument anwende
% arara: perl: { script: latexcount.pl }
\documentclass{article}
\begin{document}
Zaehle diese Woerter!
\end{document}
erhale ich:
Can't open --fancy_options=previewall,nosoap: No such file or directory at latexcount.pl line 72, <> line 8.
3 words in the main text
in the footnotes
3 total
Status: SUCCESS
Das paßt *in jeder Zeile*.
**Ich vermute, daß arara bei der kleinsten Kleinigkeit (Warnung oder so?) abbricht - das weiß ich aber nicht, was man da machen könnte; vermutlich geht das in die Interna?**
[1]: http://tex.stackexchange.com/questions/187925/how-can-i-build-an-arara-rule-for-running-perl-scripts
[2]: http://user.mendelu.cz/marik/fancy-preview/#installation
[3]: http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/latexcount.html