Une façon j'ai trouvé est de vérifier si le Débogueur Perl est « chargé » en vérifiant défini ($ DB :: single) et en supposant Komodo est actif, si $ DB :: single est défini ..Comment un script Perl peut-il détecter s'il s'exécute dans l'EDI de Komodo?
Mais cela peut également signifier que le script fonctionne légitimement sous la forme perl -d sous le débogueur "autonome".
#!/usr/local/ActivePerl-5.10/bin/perl
use strict;
use warnings;
use feature qw/say switch/;
# detect debugger ..
SayDebugerStatus();
sub SayDebugerStatus {
print "Debugger ";
given ($DB::single) {
when (undef) {
say "not loaded.";
}
when (0) {
say "loaded but inactive";
}
default {
say "loaded and active";
}
}
return defined($DB::single) ? 1:0;
}
suggestion de zakovyrya conduit à:
if (grep(/.*Komodo\ IDE\.app/g, values %INC)){
say "Komodo is running"
} else {
say "Komodo is not running"
};
Mais est-il un autre moyen?
MISE À JOUR aujourd'hui ma routine isKomodo() a échoué. Une enquête a montré, que IT a changé mes paramètres de chemin global de "long" aux noms "courts" (c'est sous Windows) .. il n'y a plus de chaîne "KOMODO" dans le hash% INC ..
Je suis à la recherche d'un remplacement.
Puis-je vous demander pourquoi vous avez besoin de faire cela? – innaM
Je veux écrire dans la fenêtre "output" (alias StdOut) dans l'EDI et dans un fichier journal lors d'une exécution à l'extérieur. (à lazzy pour le faire avec les options de démarrage) –
lexu
Et que signifie "dehors"? Manuellement depuis le shell, via cron-job, etc? – innaM