bonjour
est ce qu'il est possible d'executer une commande non perl avev perl?
bonjour
est ce qu'il est possible d'executer une commande non perl avev perl?
Bienvenue sur le forum.
Bien sûr il est tout à fait possible de lancer n'importe quel exécutable à partir de Perl ! (tous les langages savent le faire, ce serait bien le diable si un langage renommé pour ses capacités en tant que "glue" en était incapable)
Regarde cette section de notre FAQ.
--
Jedaï
ne marche pas lorsque j'execute de la meme maniere les commandes du logiciel SimVision
merci
Pour que l'on puisse éventuellement t'apporter une solution, un extrait de ton code serait le bienvenu (n'oublie pas les balises codes)
pour simuler un code vhdl sur la console du SimVision j'ecris selemment:
ncsim e:/work/fichier.vhd
mais comment je peut faire a partir de la console de Perl sans utiliser la console du SimVision.
j'ai deja fais avec la methode sur Perl:
system "ncsim e:/work/fichier.vhd"
exec "ncsim e:/work/fichier.vhd"
mais ne marche pas
Lorsque tu tapes ncsim e:/work/fichier.vhd dans une fenêtre MS-DOS, ça fonctionne ?
Ah, d'ailleurs, via console DOS, ce devrait être plutôt : ncsim e:\work\fichier.vhd si je ne m'abuse ? (à essayer aussi dans ta syntaxe system de ton script Perl)
=> s'execute sur la console dos.
Code : Sélectionner tout - Visualiser dans une fenêtre à part system "ncsim e:/work/fichier.vhd"
Est ce que ça pose probleme, peux tu faire cette commande sous dos?
si non cherche comment faire sous dos avant de l'integrer dans perl
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
tu m'as doublé arioch , par contre tu te trompes souvent en proposant les \ dans les chemins. Perl s'en occupe pour nous, donc c'est mieux de laisser / à la unixEnvoyé par Arioch
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
quand je tape la commande: system "ncsim e:/work/bascule.vhd"
sur la console d'unix, il ne marche pas, ni sur la console de perl
T'es sous windows ou unix?
et tape sur la console dos ou unix ceci :si ça marche pas, c normal que perl ne marche pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ncsim e:/work/bascule.vhd
A toi de voir comment faire fonctionner ta commande en ligne de commande.
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
ce commande:ncsim e:/work/bascule.vhd
il marche sur unix mais je veux taper sur la console de Perl.
T'es sous windows ou unix? et faire voir ton code
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Ben là, j'ai mis \ à la place de / juste pour la console MS-DOS. Windows est assez capricieux en temps normal alors...Envoyé par djibril
puis :Envoyé par kolombo
??Envoyé par kolombo
La console de Perl ? Ca n'existe pas (je parie que tu ne parles pas non plus de l'un des shells écrit en Perl) !
Je vais te résumer ce que j'ai vu dans ma boule de cristal (parce qu'avec les éléments que tu nous as donné, c'est de la divination, et je ne garantis pas les résultats) : Tu as une application qui ouvre une ligne de commande où tu peux taper des commandes comme 'ncsim', mais ces commandes ne sont pas accessibles par la ligne de commande Unix (sous quel Unix es-tu donc d'ailleurs pour avoir des chemins comme "e:\work\bascule.vhd" ? Un Unix nommé Windows ? ) normale.
Il y a donc deux possibilités : soit cette application modifie le PATH (c'est à dire l'ensemble des répertoires où le shell va chercher les exécutables), soit elle gère sa ligne de commande elle-même.
Dans le premier cas, il suffit de modifier le PATH de la même façon que cette application avant d'utiliser system(), dans le second cas, il est probable que cette application offre la possibilité d'exécuter un script contenant ses commandes, et dans ce cas il suffit de passer par ce biais.
Et kolombo, pourrais-tu écrire dans un français correct, et surtout moins laconique :
n'apporte pas beaucoup de renseignements (et ne donne pas envie de répondre).Envoyé par kolombo
--
Jedaï
pour modifier un fichier a partir de console unix je tape:
perl -i -p -e '$_ = "le remplacement de ma ligne\n" if $. == 23' fichier.txt
le logiciel matlab a aussi me permit de modifier le fichier car il connait Perl et je tape sur matlab:
unix('perl -i -p -e '$_ = "le remplacement de ma ligne\n" if $. == 23' fichier.txt')
et puisque je veux simuler un code vhdl avec SimVision je tape sur unix:
ncsim e:/work/bascule.vhd
mais le probleme lorsque je veux simuler ce code par matlab et je tape:
unix(' ncsim e:/work/bascule.vhd')
il me repond: ncvhdl command not found
c pourquoi je pose la question: est que perl me permit de lancer des commandes non perl?
pour modifier un fichier a partir de console unix je tape:
perl -i -p -e '$_ = "le remplacement de ma ligne\n" if $. == 23' fichier.txt
le logiciel matlab a aussi me permit de modifier le fichier car il connait Perl et je tape sur matlab:
unix('perl -i -p -e '$_ = "le remplacement de ma ligne\n" if $. == 23' fichier.txt')
et puisque je veux simuler un code vhdl avec SimVision je tape sur unix:
ncsim e:/work/bascule.vhd
mais le probleme lorsque je veux simuler ce code par matlab et je tape:
unix(' ncsim e:/work/bascule.vhd')
il me repond: ncvhdl command not found
c pourquoi je pose la question: est que perl me permit de lancer des commandes non perl de la meme facon que j'ai modifie le fichier?
J'ai du mal à te suivre et surtout te comprendre, ça a l'air d'un casse tête ton truc
Déjà ici, qu'appelle-tu console unix ? Est-ce un shell (bash ? kornshell ? autre ?) que tu utilises en ouvrant une console à l'écran ou sont-ce des commandes unix que tu emploies à travers une console de ton logiciel ???Envoyé par kolombo
Bon, à priori, spa directement sous unix que tu tapes tes commandes unix, tu passes donc via matlab ?Envoyé par kolombo
Si je capte bien tout comme y faut :Envoyé par kolombo
- la simulation de ton code vhdl avec SimVision fonctionne bien.
- la même simulation en passant par Matlab à la place de SimVision ne fonctionne pas. Ici, Matlab fait appel à une commande/fonction appelée unix ???
- qu'est-ce que ce ncvhdl ? un alias de ncsim ???
Dur à capter, c'est bien ce que je disais
ncvhdl est une commande pour compiler le code vhdl et ncsim est une commande pour simuler le code.
ma question: est ce que perl permit la communication entre deux logiciels?
c-a-d:au lieu de taper les commandes de simulation de code vhdl sur la console de SimVision,je les tape sur la console de matlab.
les commandes de simulation de code vhdl marche bien sur la console de SimVision ou sur Unix.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager