perl의 코드가 된 gif 파일

perl의 코드가 된 gif 파일



작년에 D 언어 코드로 된 eps 파일을 썼기 때문에 감사합니다.

환경
  • This is perl 5, version 24, subversion 0 (v5.24.0) built for x86_64-linux-thread-multi
  • Version: ImageMagick 6.9.6-6 Q16 x86_64 2016-12-02 h tp // w w. 이마게마기 ck. 오 rg
  • DMD64 D Compiler v2.072.1

  • gif 파일




    qiita의 환경을 잘 모르겠지만 업로드 중에 파일에 변경 사항이있을 수 있으므로 gif 파일을 생성하는 D 언어 소스도 작성했습니다.

    dman.d
    import std.stdio,std.base64;void main(){writeln("GIF89a#\x00X\x00\xf1\x01\x00\x00\x00\x00\xff\xff\xff\xff$$\x00\x00\x00!\xfe%\n;use MIME::Base64;BEGIN{$s=<<'END';");write(cast(string)Base64.decode("ACwAAAAAIwBYAAAC/oyPqcvdAJ1UEARr8JQ65j1pFyKCSSmW5oGS69J+L8xe1UzLmTpXqoezOYAvIsO4QR55D+YSpOQ4WdPhNAplAn3c0A8DEYjH41uTBBYAyOxy1LNVt+dipSVed6/p6pM5U1bHwtdHZbSnhkIWVrbjOFinKHixKPRIGbnDmLKIkpbJ9YfZ6DcaigjGSOqHmljR6NPG8yrnYxPBxaYVticaKrd6Ehh8y6sLMzxp2HtMkVzonEcMKK0sXA0NCTwNiZhNvW197f3z/E2CXY593l15HX6VHg0/JI++7sTsru3NTt0vid4RfPPIPSB4TyCycOJaccPUr2GyWfqaJUTlxxwxlofffs1Rt80joUQFR/IRxc+krF4lVbrhxnEkLXHt6Ih8CPGUKpsHGbrEQimiSaBBP8rK5MXmyioUdOoMQqEpVDQwmHqpOtUSVqhYiFqREoSo161gi1gdWyqJ1RNZejBFG7Ws269c6YbdxcpKhyc1dLB1hIRIjL81vlzq60Iq2zdxGyM+4jix5ByEK/s19CDy47Gh9FYpAAAh/v8K"));write(q"[END
    $_=q[print q[import std.stdio,std.base64;void main(){writeln("GIF89a#\x00X\x00\xf1\x01\x00\x00\x00\x00\xff\xff\xff\xff$$\x00\x00\x00!\xfe%\n;use MIME::Base64;BEGIN{$s=<<'END';");write(cast(string)Base64.decode("].encode_base64($s,'').'"));write(q"[END
    $_=q['.$_.'];eval};]"~"#\x00;");}';exit];eval};]"~"#\x00;");}
    

    이것을 dmd로 컴파일하고 실행하면 표준 출력에 바이너리가 출력되므로 파일에 저장하면 perl의 코드가 된 gif가 가능합니다.
    dmd dman.d
    ./dman > dman.gif
    file dman.gif
    perl dman.gif
    
    perl dman.gif에서 표준 출력에 무엇이 출력 되었습니까?
    위의 D 언어 소스와 정확히 동일한 것이 출력되었다고 생각합니다.
    오류가 발생하거나 일치하지 않으면 죄송합니다. 코드 생성을 잘못했는지, Windows의 CR 문제인지, 떨어 뜨린 gif가 잘못되었거나 다른 환경의 차이 중 하나라고 생각합니다.

    따라서이 gif 파일은``이 gif 파일을 출력하는 D 언어의 소스 '를 출력하는 perl 스크립트 '로 된 gif 파일입니다.

    자세한 설명은 번거롭기 때문에 나중에 추가합니다.
    관심있는 사람들은 적절한 텍스트 편집기로 dman.gif를 들여다보십시오.

    좋은 웹페이지 즐겨찾기