2010-02-08 10 views
1

모든 파일/디렉토리/시스템 기반 호출을 가로 채기 위해 Perl 코드에서 이벤트 핸들러를 작성하여 JIT (just-in-time) 방식으로 입력을 제거 할 수 있습니다.perl 입출력 이벤트 핸들러

내 스크립트에는 많은 IO 액세스 권한이 있으며, 성가신 코드를 수동으로 추가하는 것이 좋습니다.

타사 CPAN 모듈을 설치할 필요없이이 작업을 수행 할 수 있습니까?

답변

1

aspect-oriented approach을 사용해 볼 수도 있지만 CPAN 모듈을 설치해야합니다 (Aspect).

$before = before { 
    print "g/set will soon be called"; 
} $pointcut; 

:

$pointcut = call qr/^Person::[gs]et_/; # defines a collection of events 

그런 다음 호출하기 전에 취할 수있는 코드를 정의 : 특정 방법/함수를 호출을 캡처하려면

, 당신은 (가로 세로 POD에서 가져온) 포인트 컷을 정의 Aspect 모듈에서 CORE :: * 네임 스페이스에 대한 호출을 트랩 할 수 있는지 여부는 확실하지 않지만.

1

일반적인 데이터를 얻지 않으려면 어떻게해야합니까? 출처를 막론하고 모든 것을 무조건 받아들이려고한다면, 오점 체크를 사용할 필요가 없습니다.

Mastering Perl의 "보안 프로그래밍 기법"장을 읽는 것이 좋습니다. 나는 이런 종류의 물건을 다룰 때 상당히 충고한다. 그러나 좋은 조언은 일반화가 아닌 특정 상황을 목표로 삼을 것입니다.

+0

일련의 정규 표현식과 분기 (if/else/case) 등을 통해 실행할 수 있습니다. –

+0

여러분이 시작한 곳으로 되돌아갑니다. –