posted by 빠담아빠다 2016. 3. 6. 01:16

배열비교


두개의 파일을 읽어 비교.

1. 배열에는 비교당할 list 예를들어 기존파일 A와 새로운파일 B가 있을때 A의 내용이 B에 있는지 확인 할 때.

 A는 기준점이되고 B는 비교점이 된다.

 # B를 읽고 배열에 넣은 후 foreach문으로 해도 상관없다.


파일 읽고 비교후 정리

배열 @arr




-------------




open(AAA,"./small");

while(<AAA>){

chomp;

 push(@arr,$_);

}


if (-f "./exist"){ `rm -f ./exist`; }

if (-f "./not_exist"){ `rm -f ./not_exist`; }


open(AAA,"./big");

while(<AAA>){

chomp;

 $line=$_;


  if ( grep { $_ eq $line } @arr ) {  # 현재 $line의 값이 @arr에 존재 하는지 비교하는 구문

   `echo $line >> ./exist`;

  }else{

   `echo $line >> ./not_exist`;

  }

}

posted by 빠담아빠다 2016. 3. 6. 01:15

2014/09/11 15:44 이전자료


1. 상단의 모듈 선언

use Time::Local;
use POSIX qw/strftime/

2. 시간

$today_date=strftime "%Y%m%d", localtime;

3. 현재시간으로 이전시간 구하기

$mstr=$today_date;
@mval = ( $mstr =~ m|(\d{4})(\d{2})(\d{2})| );
$mtime = timelocal( 0, 0, 0, $mval[2], $mval[1] - 1, $mval[0] );
$yesterday_date=strftime ( "%Y%m%d", localtime ( $mtime - 24 * 3600 ) );

2번의 today_date 값
20140829
%H%M%S 시분초
%s 유닉스 타임

# 초까지 입력하시려면
$today_date=strftime "%Y%m%d%H%M%S", localtime;

$mstr=$today_date;
@mval = ( $mstr =~ m|(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})| );
$mtime = timelocal( $mval[5], $mval[4], $mval[3], $mval[2], $mval[1] - 1, $mval[0] );
$yesterday_date=strftime ( "%Y%m%d%H%M%S", localtime ( $mtime - 24 * 3600 ) );

posted by 빠담아빠다 2016. 3. 6. 01:14

2013/11/18 09:16 이전자료


정규 표현식에서


$& 일치행 전부

$` 일치부분

$' 일치 부분 이후



---------------------------------


정규표현식 

if ( $var =~ /Name:/ ) {

 print "$&\n";


}