목록PERL (46)
준호씨의 블로그
time() 함수를 이용하면 epoch time 을 얻을 수 있다. 초 단위 이기 때문에 하루치의 초 (24 * 60 * 60) 만큼을 빼면 어제의 시간을 구할 수 있다. 아래의 get_date_ago(ago) 함수는 ago 일 전의 날짜를 yyyy-mm-dd 포멧의 문자열로 반환하는 함수이다. #!/usr/bin/env perl use strict; use warnings; use POSIX qw/strftime/; sub get_date_ago { my $ago = shift; my $epoc = time(); $epoc = $epoc - (24 * 60 * 60) * $ago; my $datestring = strftime "%F", localtime($epoc); return $datestring..
perl 로 cgi 나 스크립트를 작성할 때 문자열을 파싱해서 사용하는 경우가 많다. 그럴 때 정규표현식을 쓰게 되는데 간혹 특수 문자를 정규표현식에 넣다 보면 문제가 발생하곤 한다. 검색어를 정규표현식에 넣어서 검색을 할 때 검색어에 "+apple" 를 넣게 되면 + 가 특수 문자이기 때문에 오류가 발생하거나 오동작 하게 된다. 오류 발생 Quantifier follows nothing in regex; marked by
perl 로 스크립트를 짜다 보면 http get 을 할 일이 종종 있다. socket 으로 구현하기도 하고 HTTP::Tiny 를 사용하기도 하고 LWP::UserAgent 를 사용하기도 하는데 여기서는 간단한 LWP::UserAgent 사용 예를 들어 본다. (HTTP::Tiny 를 사용하려고 했었는데 599 Internal Exception 이 자꾸 발생해서 LWP::UserAgent 를 사용 했다.) use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $response = $ua->get("http://127.0.0.1:8080/index.php"); print $response->decoded_content; 좀 더 자세한 사용법은 아래 링크를 참고 한..
cpanm -U 삭제할모듈 ex) sudo cpanm -U LWP sudo cpanm -U Mozilla::CA sudo cpanm -U Crypt::OpenSSL::AES sudo cpanm -U IO::Socket::SSL sudo cpanm -U Net::SSL sudo cpanm -U Crypt::SSLeay
리눅스 쉘에서 GET 이라는 명령어가 있는 곳도 있고 없는 곳도 있는데 이게 뭐하는거냐 하면 http request 요청 하는 명령어이다. 설치 되어 있다면 /usr/bin/GET 에 있을 것이다. GET 'http://www.daum.net' 하면 html 내용을 쉘에서 볼 수 있다. json 리턴 해 주는 API 같은거 간단히 테스트 해 볼 수도 있다. (curl 같은게 더 나을지도) 아무튼 GET을 설치 하는 방법 다음 방법중 아무거나 되는거로 하면 된다. cpan LWP yum install perl-libwww-perl yum perl-libwww-perl.noarch 그런데 구 서버에서는 /usr/bin/GET 인데 언젠가 부터 lwp-request 로 바꼈다. 굳이 GET 으로 사용 하고 싶..