Hololog Perl/CLI 버젼

Posted on Dec 17, 2019

https://github.com/ageldama/hololog-perl-cli

한줄씩 메모를 하는걸 좋아하고, 그냥 데스크탑에서 PDF을 읽거나 웹페이지를 읽으면서 어딘가에 생각난거나 이해한걸 필기하면서 진행하고 싶어서 만들었다.

다음 트윗 타래에서 이야기한것처럼, 그냥 트위터 비밀계를 써도 괜찮지만, 그것도 너무 웹브라우져 열고 하다보면 산만해져서.

tweet 1206138361968070656

처음 시작은 Unix/GNU cat 을 간단하게 터미널에서 쓰면 된다는 생각이 들었다.

cat >> foo.txt

..그런데 유닉스가 아닌 사람들, 윈도를 쓰는 사람들은 어떻게 하지?

copy con foo.txt

..사실 위와 같이 cmd.exe 에서 실행해도 되겠지만, 뭔가 그래도 윈도 사용자들이나 터미널 화면을 무서워하는 사람들이 저런거 좋아할까.. 싶어서 조금 생각.

Tk이나 wxWidgets 사용해서 간단한 GUI 프로그램을 만들어볼까.. 했는데, 너무 오버킬인거 같았다. 그렇게 복잡하게 만들면 그만큼 산만할거라고 혼자 생각.

그래서 처음 생각은 간단하게 한줄짜리 Perl 프로그램을 트윗에 달아볼 생각이었다.

  perl -ne 'BEGIN{$|=1;} print;'

..완벽하다. 그냥 loop구성도 펄이 알아서 해주고 autoflush 기능만 $| = 1 해서 켜줬다.

그런데 조금 욕심이 더 생겼다…

처음 스크립트를 시작할 때나 작성한 내용을 언제 작성한건지 시간을 기록하고 싶었다.

그래서 조금 스크립트를 더 키웠다.

그러다가, 아예 프로그램으로 만들고 윈도용 .exe 실행파일을 제공하려고 완전히 뜯어고쳤다.

  1. IO::Handle 모듈 사용해서 입출력하고, autoflush제어.
  2. 기본 설정 이외에도 펄스크립트 수정해서 기능 동작 바꿀 수 있도록 설정 변수로 정리.
  3. 스크립트 인자로 다른 텍스트 파일에 저장 가능하도록 변경.
  4. 새로 시작할 때, 기존 텍스트 파일의 내용을 모두 보여줘서, 저번에 뭘 하고 있었는지 감을 잡을 수 있도록 하기.
  5. 예쁜 프롬프트, 저작권 및 경고 표시.

재밌게 작성했다.

PAR::Packer 사용해서 윈도우용 실행파일을 만들고, VirtualBox 윈도우 이미지 안에서 실행하며 테스트.

그리고 깃헙에 프로젝트랑 README 작성하고 릴리즈했다.

재밌었다. 오랬만에 Perl을 써서 재밌는걸 만들어서 좋았다.