2012-11-22 3 views
1

Je veux appeler le script Perl via un autre script Perl. Je l'ai utilisé,Appel du script à partir du script en Perl

system('/home/arun/title_verifier.pl'); 

mais il jette,

sh: 1: /home/arun/title_verifier.pl: Permission denied 

Alors, comment puis-je faire ...

+0

Est-ce que vous (ou le script perl en cours d'exécution) avez + x à droite sur le fichier .pl? – Konerak

+0

"+ x" signifie que je ne peux pas vous aider? Pardon. – Akan

+1

Chaque fichier linux a des permissions sur les fichiers (faites 'ls -al' pour les voir). Les plus basiques sont + rwx, signifiant "autorisation de lecture", "permission d'écriture", "permission d'exécution". Si un fichier a + x, vous pouvez l'exécuter (appelez-le en utilisant son nom de fichier, /home/arun/title_verifier.pl.) S'il n'a pas + x, vous ne pouvez pas l'exécuter en tant que programme, mais vous pouvez utiliser un autre programme comme entrée pour l'exécution, dans cet exemple avec 'perl/home/arun/title_verifier.pl' – Konerak

Répondre

11

Assurez-vous que le script Perl a l'autorisation d'exécution

chmod +x /home/arun/title_verifier.pl 

ou appelez le script avec perl

system('perl /home/arun/title_verifier.pl'); 
+0

" system ('perl /home/arun/title_verifier.pl') "ça marche bien ... Merci. – Akan

0

Aussi vous pouvez l'exécuter avec Perl environnement, mais avec perl votre script a été exécuté

système

($^X, "/home/arun/title_verifier.pl") == 0 ou mourir « $ ! "

Questions connexes