Programming/Perl10 (Perl) 폴더 사이즈 구하기 Perl에서 더 좋은 모듈을 발견하지는 못해서, 일일이 파일 사이즈를 모두 더해서 폴더 사이즈를 구하였다. 그래서 시간이 좀 걸린다. 첫번째 방법use v5.10;use strict;use warnings;use File::Find;sub get_folder_size { my ($dst_folder) = @_; my $folder_size = 0; find( sub { $folder_size += -f $_ ? -s _ : 0 }, $dst_folder ); return $folder_size;}say "Folder Size : ".get_folder_size("C:\\");두번째 방법# -----------------------------------------------------.. Programming/Perl 2014. 5. 3. (Perl) MojoExample 이용해서 사이트 만들기 http://mojoexample.herokuapp.com/에 Mojolicious 의 아주 좋은 샘플을 만들어 놓았지만, 2년전에 만들어져서 최신 버전에서 실행하려면 약간의 문제를 일으킵니다. 이를 조금 수정해서 제대로 돌아가게 해보았습니다. Install MojoExample$ cpanm -n Mojolicious Modern::Perl DBIx::Class DateTime DateTime::Format::SQLite Time::Duration File::Slurp SQL::Translator$ git clone https://github.com/tempire/MojoExample.git /opt/project/project_name바로 실행하면 에러가 발생하며, script/mojo_full의 마지.. Programming/Perl 2014. 5. 1. (Perl) Hitachi Storage 장애 체크 (Web) 히다찌 스토리지에서는 상태점검을 위해서 웹인터페이스를 제공하고 있다. 해당 웹페이지의 메뉴에서 Warning Information 에서 문제가 있으면 로그가 표시되는데, 여기에 아무것도 없으면 장애가 없는 것이고, 뭔가 하나라도 있으면 장애가 있다는 것이다. 해당 페이지의 첫번째 TEXTAREA 태그의 내용을 확인하며 되며, 이를 위해서 WWW::Mechanize 모듈을 사용하였다. 그리고, 장애 발견시 담당자에게 문자를 보내도록 하였다. Strawberry Perl 5.16.2 에서 테스트하였으며, 사용하는 모듈은 모두 기본으로 내장되어 있어서 별도로 설치할 필요없다. #!perl# -------------------------------------------------------------------.. Programming/Perl 2013. 3. 14. (Perl) SAN 스위치 장애 체크 (Telnet) 대부분의 네트워크 장비에서는 콘솔로 작업을 할 수 있도록 ssh, telnet 등의 접속을 지원하고 있다. 가장 많이 이용되는 SAN 스위치 중의 하나인 브로케이드(EMC) 의 SAN 스위치에서는 switchstatusshow 명령을 통해서 장비의 상태를 확인할 수 있는데, SwitchState 항목을 체크하면 장비의 전체적인 상태를 알아볼 수 있다. 여기에서는 간단하게 Telnet 으로 접근하여 해당 항목이 HEALTHY 인지 여부에 따라서 정상이 아니면, 담당자에게 문자를 보낼 수 있다록 해보았다. Ruby 에서도 한번 구현해보려고 했는데, 신형 장비(EMC)에는 잘 접속이 되었으나, 구 장비(Brocade)에는 로그인이 제대로 성공하지 못했다. #!perl# ---------------------.. Programming/Perl 2013. 3. 11. Perl : 모듈 관리 Perl 의 모듈관리 기능을 정리해보았다. Ruby 의 gem 처럼 하나의 툴로 이쁘게 관리되면 좋겠는데, 아직까지는 번거롭게 몇가지 툴을 설치해서 따로 따로 사용해야 된다는 것이 아쉽다. Windows 용 Perl 인 ActivePerl 에서는 ppm 이라는 툴을 제공하긴 하지만, cpan 을 이용할수 없다는 것이 흠이다. 설치할 모듈 검색https://metacpan.org/http://www.cpan.org/모듈관리도구 설치$ cpan App::cpanminus App::cpanoutdated Devel::Loaded App::pmuninstall모듈 설치$ cpanm [모듈이름]or$ cpan [모듈이름]모든 모듈 업데이트$ cpan-outdated | cpanm설치된 모듈 검색$ pminst [.. Programming/Perl 2012. 11. 5. Perl : StrawberryPerl 에서 PAR::Packer 설치하기 보통은 아래와 같이 CPAN 을 이용해서 모듈을 설치할 수 있다.C:\> cpanm PAR::Packer그런데, 최신 버전인 1.013은 에러 발생하며 설치 안된다. 부엉이님 께서 Perl / Win32 / PAR::Packer - PAR::Packer 1.013 설치 중 windres: can’t open file pp.manifest 오류가 발생하는 경우 에서 1.013 설치법을 설명을 해주었지만, 뭔가 좀 깔끔치 못한 느낌이다. 그래서, 바로 밑에 버전 1.012 을 설치하려고 하는데, 어떻게 해야될지 모르겠더라. CPAN 사이트에서 직접 다운로드 하여, 컴파일해서 설치할 수도 있겠지만, 좀 원시적인 느낌이다. cpan 을 사용해서 좀 더 편하게 설치할 수는 없을까? 하고 찾아보니, 방법이 없지는 .. Programming/Perl 2012. 5. 14. perl 스크립트를 통한 해킹 사고 올해 들어서 벌써 2번째 해킹사고가 발생하였다. 한번은 exim 이라는 SMTP를 통해서, 그리고, 어제는 apache+php 를 통해서 이루어졌다. 각기 다른 서비스를 통해서 당했지만, 해킹 형태는 비슷하였다. 해당 서비스의 취약점을 통해서 /tmp 디렉토리에 perl 스크립트를 심고, 데몬으로 돌려서 특정 사이트에 과다 트래픽을 발생시켜서 마비시키는 것이었다. 이를 해결하는 방법으로는 아래 소개한 여러 복잡한 방법이 있지만, 공통점은 perl 을 이용한다는 것이므로, 가장 간단한 방법은 perl을 삭제하여 없애버리는 것이다. ^^; Simple is Best ??? http://blog.naver.com/PostView.nhn?blogId=nicegass&logNo=130033355546&redire.. Programming/Perl 2011. 6. 23. (Perl) perlbrew 를 이용하여 다양한 버전의 Perl을 설치해보자! CentOS 5.6 에 기본으로 설치되어 있는 Perl 의 버전은 5.8.8 이다. 버전이 낮아도 한참 낮다. 요즘 다른 OS에는 5.10을 기본으로 사용하도록 되어 있으며, 최신 버전은 5.12 이다. 거기에 벌써 5.14 RC 버전까지 나온 상태이다. 이런 구닥다리 버전을 벗어나서 그나마 남들도 쓰는 버전을 쓰려면, 별도로 Perl 을 설치해야 되는데... 직접 소스 파일을 다운로드하여 컴파일/설치 하는 것도 방법이겠지만... 더욱 유연하고 확장성 있는 방법을 소개하고자 한다. 지난번 pythonbrew 를 이용해서 여러 버전의 python 을 설치하는 법을 알려드렸는데, 이것의 원조인 perlbrew 를 이용하면 우리가 원하는 것을 할 수 있다.먼저 perlbrew를 설치한다.$ curl -Lk h.. Programming/Perl 2011. 5. 23. (Perl) (Debian-Perl) Linux 에서 MS-SQL 연결하기 요즘 Perl 짓을 조금 하고 있는 중이다. 어쩌다 보니, MS-SQL도 사용하게 되었는데, 여러가지 방법이 있었지만, FreeTDS를 이용하는 것이 가장 간편한 것 같아서 정리해보았다.Install FreeTDS# apt-get install freetds-*Install Sybase module# apt-get install libdbd-sybase-perl/etc/freetds/freetds.conf 수정...[Our-MS-SQL] host = 아이피주소 port = 1433 tds version = 7.0...예제 코드#!/usr/bin/env perl use DBI; my ($dbh, $sth, $sql);$dbh = DBI->connect("DBI:Sybase:server=Ou.. Programming/Perl 2011. 3. 24. (Perl) 디렉토리 순회하기 윈도우 파일서버에서 100MB 가 넘는 파일을 찾기 위해서 디렉토리를 순회하는 방법을 찾아보았다. 보통은 File-Find 를 많이 쓰지만, 1TB이상 사용하고 있는 드라이브에서는 검색 도중에 Out of memory 메시지와 함께 멈추는 현상이 있었고, 대신 File-Find-Object 로 해보니, 아주 깔끔하게 검색이 되었다.File-Find일반적으로 많이 알려진 방법인데, 1TB 용량의 드라이브 검색시 죽는 현상을 발견하였다.# 100MB 넘는 파일 목록 출력 use strict;use warnings;use File::Find; my $limited_size = 100_000_000; # 100MBfind(\&process_file, ("P:/")); sub process_file { my.. Programming/Perl 2011. 3. 23. 이전 1 다음