Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: dvbb в Mar 31, 2010, 23:49



Титла: perl script date-time
Публикувано от: dvbb в Mar 31, 2010, 23:49
Здравейте предварително се извинавам за нахалния си въпрос. Необходима ми е една лека корекция на скрипта, как бих могъл да вадя дата.
в момента излиза
1270065872 - CN=user trying to check... Found in whitelist. ACCEPT!

искам да излиза
дата - час - CN=user trying to check... Found in whitelist. ACCEPT!

Код
GeSHi (Perl):
  1. #!/usr/bin/perl
  2.  
  3. $LOGFILE="/var/log/openvpn-verify-cn.log";
  4. $WHITELIST="/etc/openvpn/whitelist.txt";
  5. $LOG=1;
  6. if($LOG){ open(LFILE, ">>$LOGFILE"); };
  7.  
  8. if($ARGV[0] eq 0){
  9.  $accept_cn=0;
  10.  $cname=$ARGV[1];
  11.  $cname =~ s/.*\/CN=(.*)\/.*/$1/;
  12.  if($LOG){ print LFILE time()." - CN=".$cname." trying to check... "; };
  13.  open(WHITELIST, "<$WHITELIST");
  14.  while(<WHITELIST>){
  15.    chomp;
  16.    if($_ eq $cname){ $accept_cn=1; };
  17.  };
  18.  if($accept_cn){
  19.    if($LOG){ print LFILE "Found in whitelist. ACCEPT!\n"; };
  20.    close(LFILE);
  21.    close(WHITELST);
  22.    exit 0;
  23.  }else{
  24.    if($LOG){ print LFILE "Not found in whitelist. REJECT!\n"; };
  25.    close(LFILE);
  26.    close(WHITELST);
  27.    exit 1;
  28.  };
  29. };
  30. close (LFILE);
  31. exit 0;
  32.  
  33.  


Титла: Re: perl script date-time
Публикувано от: cdiem в Apr 01, 2010, 08:14
Може би нещо подобно:
http://www.netadmintools.com/art212.html
Пишеш си го например като "sub showDateTime {...}" и после го извикваш на 12 ред.


Титла: Re: perl script date-time
Публикувано от: radoulov в Apr 01, 2010, 11:03
Вместо:

Код
GeSHi (Perl):


използвай:

Код
GeSHi (Perl):


Код
GeSHi (Perl):
  1. % perl -E'say time, $/, scalar localtime'
  2. 1270108932
  3. Thu Apr  1 10:02:12 2010


Титла: Re: perl script date-time
Публикувано от: dvbb в Apr 01, 2010, 18:35
Благодаря много за помоща