[Perl] rendre le script exécutable

Fermé
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 - 24 mai 2008 à 13:33
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 - 27 mai 2008 à 14:22
Bonjour,
J’ai ce script perl pour faire la connexion au fichier /var/www/mrtg/localhost_2.log puis le script faire la recherche d’une date actuelle.
A l’exécution je veux exécuter ce script comme ca :
>> Perl nom de script.pm localhost_2 max min
Ou
>> Perl nom de script.pm localhost 2 max min
Localhost_2 ,max et min se sont des arguments ARGV[0],ARGV[1] et ARGV[2] .
Remarque : max et min se sont des conditions qu’il ne faut pas les dépasser. Le 2 est le numéro de port , localhost_2.log est le fichier log de mrtg.

Donc je veux quelques modifications ou correction sur ce script pour qu’il devienne exécutable.
Voila le script :

voila le script:
----------------------------------------------------------
#!/usr/bin/perl -w

package mariem;
use Time::Local;
&connection();
&recherche();
#my @line;
sub connection(){

my $adr=$ARGV[0]._2;
open ("file","/var/www/mrtg/$adr.log")|| die ("impossible d'accéder a mrtg.log\n");
}

sub recherché{

#my $line;
my $test=timegm(localtime);
# print"test\n";
# my $test=1210839900 ;
#$line=644 a$test=1208439900;
#1206828000 temp ou le $line=0;
while ( $line = <file> ){
chomp ($line);
@line = split( / /, $line);
next unless defined $line[0];
if ($line[0] ==$test ){
if ($line[4]==0) {
return 0;
print STDOUT "erreur time\n";
}
elsif ($line[4] < $ARGV[1] && $line[2] > $ARGV[2])
{
return 1;
print STDOUT "val exist\n";
}
else{
print STDOUT "val n'est pas dans lintervl\n";
}
}
}
}
1;
A voir également:

5 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
24 mai 2008 à 13:37
Salut,


Donc je veux quelques modifications ou correction sur ce script pour qu’il devienne exécutable.

Bon, la prochaine fois tu diras, j'aimerais faire quelques modifications ....?!

Ton script tu peux l'exécuter de la manière

perl script argument1 argument2
sans le rendre exécutable
sinon regarde ici Exécuter un script
0
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 4
24 mai 2008 à 13:55
salut ;

Désolé pour mes fautes de langue car je ne maitrise bien le francais.


je fait:

perl script.pm localhost 200 100 et perl script.pm localhost_2 200 et je n'obtient aucune résultat.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
25 mai 2008 à 20:46
Salut,

pas besoin de poster en double
mets sur https://www.cjoint.com/ le fichier /var/www/mrtg/localhost_2.log

je vais regarder demain

0
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 4
26 mai 2008 à 00:07
le lien sur le fichier localhost_2.log est : https://www.cjoint.com/?fAaghSrWE1


Merci .................. BN
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 4
27 mai 2008 à 14:22
salut ,
je ne sais pas si tu vois la forme de fichier ou non en tout cas voilà:
la forme de fichier localhost_2.log est :
---------------

1211624102 2042932 238472
1211624102 3429 516 3429 516
1211623801 2725 262 2725 262
1211623800 34389 32027 4752469 4765100
1211623500 4752469 4765100 4752469 4765100
1211623200 4752469 4765100 4752469 4765100
1211622900 4736629 4749216 4752469 4765100
1211622600 594 26 2534 294
1211622300 2560 297 10504 1216
1211622000 10439 1208 10504 1216
1211621700 843 96 845 97
1211621400 398 3 399 4
1211621100 346 3 468 4
1211620800 468 3 535 12
1211620500 534 11 535 12
1211620200 413 7 414 8
1211619900 243 2 432 2
1211619600 431 2 432 3
1211619300 410 2 474 3
1211619000 473 2 474 4
1211618700 381 4 382 4
1211618400 287 4 367 8
1211618100 388 11 6902 1119
1211617800 6898 1118 6902 1119
1211617500 5972 823 5985 1017
1211617200 4090 1006 4132 1017
1211616900 0 0 0 0
1211616600 0 0 0 0
1211616300 0 0 0 0
1211616000 0 0 0 0
0