mikrocontroller.net

Forum: PC-Programmierung In Perl ein Kommando aus String ausführen


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Weiss jemand wie man in Perl folgendes Problem lösen könnte:

>
>my $Something = "123";
>my $CmdString = "print $something;";
>

Wie kann ich das Kommando aus $CmdString ausführen? Da Perl
eine Interpretersprache ist (ist es doch, oder?) hätte ich
vermutet das so etwas funktionieren sollte. Leider habe ich
bisher nicht herausgefunden wie man soetwas realisiert.

Jens

Autor: Nik Bamert (nikbamert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, in php lautet der entsprechende Befehl eval().
Google meint dazu, dass der Befehl in Perl defür derselbe ist, nur kenne 
ich mit Perl nicht so aus, daher weiss ich nicht ob das wirklich das ist 
was du suchst...

http://gd.tuwien.ac.at/languages/perl/Hajji-Perlku...

Nik

Autor: Joerg Wolfram (joergwolfram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am einfachsten ist es, das Kommando in Backticks (oder wie die heissen) 
einzuschließen:

$wert = `$CmdString`;

in $wert sollte dann der Rückgabewert des Programms liegen 
(normalerweise 0 oder halt ein Fehler).

Gruß Jörg

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Joerg & Nik:

Danke für die Anregungen, ich werde beide Varianten
ausprobieren.

Jens

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eval dürfte es sein. Backticks kann ich nicht mit Perl in Verbindung 
bringen, das ist doch nur so an der Shell.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eval funktioniert wir gedacht, das mit den Backticks
habe ich nicht hinbekommen.

Danke nochmal,

Jens

Autor: Bernd 0815 (bernds)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab mich vor ca. 15 Minuten hier eingeloggt und noch nicht so den 
Schimmer was wo hingehört. Kann man hier auch Beispiele für die 
Anwendungsprogrammierung in C++ (meinetwegen Datumsberechnung und so 
Zeugs) posten? Funktioniert soweit, habe nur noch ein kleines Problem 
mit der Berücksichtigung des Schaltjahres.

BerndS

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.