목록개발이야기 (529)
준호씨의 블로그
2018.01.15 삽질 했던 것 정리. 문제가 해결은 된 상태라 해결 된 것 까지 정리. 정확한 이유 확인은 못함. cpan 으로 MIME::Lite 라는 모듈을 설치 했는데 로컬에서는 잘 되는데 apache 통해서 perl cgi 를 호출하면 MIME::Lite 모듈이 없어서 오류가 나는 상황 설치된 perl 환경 참고로 OSX 기본 perl 버전은 5.18 /usr/bin/perl perlbrew 로 세팅한 perl 이 5.18.2, 5.26.1 perlbrew perl 에서 cpan MIME::Lite 로 설치 하면 로컬에서는 잘 됨 스크립트의 shebang 은 다음과 같이 되어 있음. #!/usr/bin/env perl 추측하기로는 apache 에서 호출한 perl cgi 는 perlbrew 로..
특정한 도메인으로 이메일을 보낼 때, 해당 도메인의 MX 레코드를 구하고 MX 레코드에 있는 도메인으로 메일을 보내게 된다. (MX 레코드가 없다면 기본 도메인 그대로 이용) perl 언어에서 Net::DNS 모듈을 이용해서 구하는 방법을 알아 본다. mx 메서드를 이용하면 쉽게 구할 수 있다. resolver 의 query 메서드를 이용해서도 구할 수 있다. #!/usr/bin/perl use strict; use warnings FATAL => 'all'; use Net::DNS; use Data::Dumper; my $res = Net::DNS::Resolver->new; my $domain = "daum.net"; # mx 메서드 이용 방법 my @mxs = mx($res, $dom..
push 함수를 이용하면 간단히 배열을 합칠 수 있다. my @array1 = (1,2); my @array2 = (3,4); my @array3 = (); push(@array3, @array1); push(@array3, @array2); print "@array3\n"; # 1 2 3 4 이렇게 해도 같음. 그런데 push 가 좀 더 효과적이고 한다. my @array4 = (@array1, @array2); print "@array4\\n"; # 1 2 3 4 참고 https://docstore.mik.ua/orelly/perl3/cookbook/ch04_10.htm
Requests http://docs.python-requests.org/en/master/user/quickstart/ 사용자 편의성은 이게 제일 좋은 것 같다. 설치 $ pip install reuqests 사용 $ python >>> import requests >>> r = requests.get('https://api.github.com/events') >>> print(r.url) https://api.github.com/events >>> print(r.content) [{"id":"7687592113","type":"PushE... post, put, delete, head, options... >>> r = requests.post('http://httpbin.org/post', data..
라인수가 많지 않으면 cat 결과를 array 에 넣어서 읽으면 됩니다. my @lines = `cat file.txt`; for my $line (@lines) { print $line; } 라인수가 많으면 file open 을 이용합니다. #!/usr/bin/env perl use strict; use warnings; my $file = "file.txt"; open my $info, $file or die "Could not open $file: $!"; while (my $line = ) { print $line; } close $info;