{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/perl/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/perl/", "feed_url": "https://matoken.org/blog/tag/perl/feed/json/", "language": "ja", "title": "Perl – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=3450", "url": "https://matoken.org/blog/2022/02/28/mosh-does-not-start/", "title": "mosh\u304c\u8d77\u52d5\u3057\u306a\u304f\u306a\u3063\u3066\u56f0\u308b", "content_html": "

\n

Debian sid amd64\u74b0\u5883\u3067mosh\u304c\u52d5\u304b\u306a\u304f\u306a\u3063\u305f\uff0e

\n\n\n\n\n\n\n
\n
$ mosh\nIO.c: loadable library and perl binaries are mismatched (got handshake key 0xed00080, needed 0xeb00080)
\n
\n

\n\n

mosh-client\u306f\u52d5\u304f\u3051\u3069 ~/.ssh/config \u3092\u898b\u3066\u304f\u308c\u306a\u3044\u306e\u3067\u9762\u5012

\n\n\n\n\n\n\n
\n
$ mosh-client\nmosh-client (mosh 1.3.2) [build mosh 1.3.2]\nCopyright 2012 Keith Winstein <mosh-devel@mit.edu>\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nUsage: mosh-client [-# 'ARGS'] IP PORT\n       mosh-client -c
\n
\n

mosh \u306f perl script

\n\n\n\n\n\n\n
\n
$ file /bin/mosh\n/bin/mosh: Perl script text executable\n$ grep -v ^# /bin/mosh | head\n\n\nuse 5.8.8;\n\nuse warnings;\nuse strict;\nuse Getopt::Long;\nuse IO::Socket;\nuse Text::ParseWords;\nuse Socket qw(IPPROTO_TCP);
\n
\n

mosh-client \u306felf

\n\n\n\n\n\n\n
\n
$ file /bin/mosh-client\n/bin/mosh-client: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9145424edb62c61b0081efeaa68ea20a25a73e5f, for GNU/Linux 3.2.0, stripped
\n
\n

sid\u3060\u3057Perl\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3082\u3042\u3063\u305f\u306e\u3067\u305d\u306e\u305b\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u3051\u3069\u3057\u3070\u3089\u304f\u7d4c\u3063\u3066\u3082\u76f4\u3089\u306a\u3044\uff0e

\n

cpan\u3084cpanm\u3082\u52d5\u304b\u306a\u3044\uff0ecpan\u306f ~/perl5 \u3092\u898b\u3066\u3044\u308b\uff0e
\n\u6700\u8fd1Debian sid\u306ePerl\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u4e0a\u304c\u3063\u305f\u306e\u306b ~/perl5 \u3092\u66f4\u65b0\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u4e0d\u6574\u5408\u3068\u306a\u3063\u3066\u3044\u305f\u3088\u3046\uff0e
\n\u4e00\u65e6 ~/perl5 \u3092\u9000\u907f\u3057\u3066\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\uff0e
\n\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u306a\u3069\u306b\u3082\u5d4c\u308a\u305d\u3046\uff0e

\n\n\n\n\n\n\n
\n
$ cpanm --list\nIO.c: loadable library and perl binaries are mismatched (got handshake key 0xed00080, needed 0xeb00080)\n$ which cpan\n/home/matoken/perl5/bin/cpan\n$ which cpan\n/home/matoken/perl5/bin/cpan\n$ mosh\nUsage: /usr/bin/mosh [options] [--] [user@]host [command...]\n        --client=PATH        mosh client on local machine\n                                (default: \"mosh-client\")\n        --server=COMMAND     mosh server on remote machine\n                                (default: \"mosh-server\")\n\n        --predict=adaptive      local echo for slower links [default]\n-a      --predict=always        use local echo even on fast links\n-n      --predict=never         never use local echo\n        --predict=experimental  aggressively echo even when incorrect\n\n-4      --family=inet        use IPv4 only\n-6      --family=inet6       use IPv6 only\n        --family=auto        autodetect network type for single-family hosts only\n        --family=all         try all network types\n        --family=prefer-inet use all network types, but try IPv4 first [default]\n        --family=prefer-inet6 use all network types, but try IPv6 first\n-p PORT[:PORT2]\n        --port=PORT[:PORT2]  server-side UDP port or range\n                                (No effect on server-side SSH port)\n        --bind-server={ssh|any|IP}  ask the server to reply from an IP address\n                                       (default: \"ssh\")\n\n        --ssh=COMMAND        ssh command to run when setting up session\n                                (example: \"ssh -p 2222\")\n                                (default: \"ssh\")\n\n        --no-ssh-pty         do not allocate a pseudo tty on ssh connection\n\n        --no-init            do not send terminal initialization string\n\n        --local              run mosh-server locally without using ssh\n\n        --experimental-remote-ip=(local|remote|proxy)  select the method for\n                             discovering the remote IP address to use for mosh\n                             (default: \"proxy\")\n\n        --help               this message\n        --version            version and copyright information\n\nPlease report bugs to mosh-devel@mit.edu.\nMosh home page: https://mosh.org
\n
\n

\u74b0\u5883

\n\n\n\n\n\n\n
\n
$ dpkg-query -W mosh perl\nmosh    1.3.2-2.1+b3\nperl    5.34.0-3\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bookworm/sid\nRelease:        unstable\n$ arch\nx86_64
\n
\n", "content_text": "Debian sid amd64\u74b0\u5883\u3067mosh\u304c\u52d5\u304b\u306a\u304f\u306a\u3063\u305f\uff0e\n\n\n\n\n$ mosh\nIO.c: loadable library and perl binaries are mismatched (got handshake key 0xed00080, needed 0xeb00080)\n\n\n\n\n\n\n\nMosh: the mobile shell\n\nmosh-client\u306f\u52d5\u304f\u3051\u3069 ~/.ssh/config \u3092\u898b\u3066\u304f\u308c\u306a\u3044\u306e\u3067\u9762\u5012\n\n\n\n\n$ mosh-client\nmosh-client (mosh 1.3.2) [build mosh 1.3.2]\nCopyright 2012 Keith Winstein <mosh-devel@mit.edu>\nLicense GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nUsage: mosh-client [-# 'ARGS'] IP PORT\n mosh-client -c\n\n\n\n\nmosh \u306f perl script\n\n\n\n\n$ file /bin/mosh\n/bin/mosh: Perl script text executable\n$ grep -v ^# /bin/mosh | head\n\n\nuse 5.8.8;\n\nuse warnings;\nuse strict;\nuse Getopt::Long;\nuse IO::Socket;\nuse Text::ParseWords;\nuse Socket qw(IPPROTO_TCP);\n\n\n\n\nmosh-client \u306felf\n\n\n\n\n$ file /bin/mosh-client\n/bin/mosh-client: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9145424edb62c61b0081efeaa68ea20a25a73e5f, for GNU/Linux 3.2.0, stripped\n\n\n\n\nsid\u3060\u3057Perl\u306e\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3082\u3042\u3063\u305f\u306e\u3067\u305d\u306e\u305b\u3044\u304b\u306a\u3068\u601d\u3063\u3066\u3044\u305f\u3051\u3069\u3057\u3070\u3089\u304f\u7d4c\u3063\u3066\u3082\u76f4\u3089\u306a\u3044\uff0e\ncpan\u3084cpanm\u3082\u52d5\u304b\u306a\u3044\uff0ecpan\u306f ~/perl5 \u3092\u898b\u3066\u3044\u308b\uff0e\n\u6700\u8fd1Debian sid\u306ePerl\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u4e0a\u304c\u3063\u305f\u306e\u306b ~/perl5 \u3092\u66f4\u65b0\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u4e0d\u6574\u5408\u3068\u306a\u3063\u3066\u3044\u305f\u3088\u3046\uff0e\n\u4e00\u65e6 ~/perl5 \u3092\u9000\u907f\u3057\u3066\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\uff0e\n\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u6642\u306a\u3069\u306b\u3082\u5d4c\u308a\u305d\u3046\uff0e\n\n\n\n\n$ cpanm --list\nIO.c: loadable library and perl binaries are mismatched (got handshake key 0xed00080, needed 0xeb00080)\n$ which cpan\n/home/matoken/perl5/bin/cpan\n$ which cpan\n/home/matoken/perl5/bin/cpan\n$ mosh\nUsage: /usr/bin/mosh [options] [--] [user@]host [command...]\n --client=PATH mosh client on local machine\n (default: \"mosh-client\")\n --server=COMMAND mosh server on remote machine\n (default: \"mosh-server\")\n\n --predict=adaptive local echo for slower links [default]\n-a --predict=always use local echo even on fast links\n-n --predict=never never use local echo\n --predict=experimental aggressively echo even when incorrect\n\n-4 --family=inet use IPv4 only\n-6 --family=inet6 use IPv6 only\n --family=auto autodetect network type for single-family hosts only\n --family=all try all network types\n --family=prefer-inet use all network types, but try IPv4 first [default]\n --family=prefer-inet6 use all network types, but try IPv6 first\n-p PORT[:PORT2]\n --port=PORT[:PORT2] server-side UDP port or range\n (No effect on server-side SSH port)\n --bind-server={ssh|any|IP} ask the server to reply from an IP address\n (default: \"ssh\")\n\n --ssh=COMMAND ssh command to run when setting up session\n (example: \"ssh -p 2222\")\n (default: \"ssh\")\n\n --no-ssh-pty do not allocate a pseudo tty on ssh connection\n\n --no-init do not send terminal initialization string\n\n --local run mosh-server locally without using ssh\n\n --experimental-remote-ip=(local|remote|proxy) select the method for\n discovering the remote IP address to use for mosh\n (default: \"proxy\")\n\n --help this message\n --version version and copyright information\n\nPlease report bugs to mosh-devel@mit.edu.\nMosh home page: https://mosh.org\n\n\n\n\n\u74b0\u5883\n\n\n\n\n$ dpkg-query -W mosh perl\nmosh 1.3.2-2.1+b3\nperl 5.34.0-3\n$ lsb_release -dr\nDescription: Debian GNU/Linux bookworm/sid\nRelease: unstable\n$ arch\nx86_64", "date_published": "2022-02-28T23:33:57+09:00", "date_modified": "2022-03-01T00:38:24+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "mosh", "Perl", "ssh", "Debian", "Linux", "sid" ] }, { "id": "http://matoken.org/blog/?p=547", "url": "https://matoken.org/blog/2014/06/25/lingr_bot/", "title": "Lingr \u306e bot \u3092\u4f5c\u3063\u3066\u307f\u305f", "content_html": "
\n

\u9e7f\u5150\u5cf6\u3089\u3050 \u306eLingr room \u3092\u4f5c\u3063\u3066\u307f\u305f\u306e\u3067\uff0c\u305d\u3053\u306bML \u306eSubject \u3092\u6d41\u3059bot \u3092\u8a2d\u7f6e\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n

\u3053\u3061\u3089\u306b\u30da\u30fc\u30b8\u306b\u4f5c\u308a\u65b9\u304c\u8f09\u3063\u3066\u3044\u307e\u3059\uff0ebot\u7528\u306eAPI \u304c\u3042\u308b\u306e\u3067\u697d\u3005\u3067\u3059\uff0e

\n\n

bot \u767b\u9332

\n

\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067bot \u3092\u767b\u9332\u3057\u307e\u3059\uff0e

\n\n

\u30e1\u30c3\u30bb\u30fc\u30b8\u53d7\u4fe1\u7528\u306ecgi \u3092\u4f5c\u6210

\n

\u3072\u3068\u307e\u305a\u53d7\u3051\u7b54\u3048\u306f\u3057\u306a\u3044\u3064\u3082\u308a\u306a\u306e\u3067HTTP 200 \u3092\u8fd4\u3059\u3060\u3051\u306eScript \u3092\u7528\u610f\uff0e

\n

\n

\u6295\u7a3f\u30c6\u30b9\u30c8

\n

get \u3060\u3051\u3067\u6295\u7a3f\u3067\u304d\u308b\u306e\u3067\u8a66\u3057\u306b\u6295\u7a3f\u3057\u3066\u307f\u307e\u3059\uff0c

\n

\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067\u60c5\u5831\u304c\u5165\u624b\u3067\u304d\u307e\u3059\uff0e

\n

\u201cLingr\u201d http://lingr.com/developer

\n

bot_verifier \u306f\u8f09\u3063\u3066\u3044\u307e\u305b\u3093\u304c\uff0cbot ID \u3068Secret \u304b\u3089\u6c42\u3081\u3089\u308c\u307e\u3059\uff0e
KagolugML_bot \u3068 xxxxxxxxxxxxxxxxxxxxxxxxxxx \u3092\u7d50\u5408\u3057\u305f\u6587\u5b57\u5217\u3092sha1 \u306b\u304b\u3051\u307e\u3059\uff0e

\n
$ echo -n 'KagolugML_botxxxxxxxxxxxxxxxxxxxxxxxxxxx'|sha1sum \nb3c03556dca8dfffb8c509cb709817044c98ad87  -\n
\n

\u3053\u306e\u5834\u5408 b3c03556dca8dfffb8c509cb709817044c98ad87 \u304c bot_verifier \u3067\u3059\uff0e

\n\n

\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068room \u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u6295\u7a3f\u3055\u308c\u307e\u3057\u305f\uff0c

\n
\n

w3m -dump \u2018http://lingr.com/api/room/say?room=kagolug&bot=KagolugML_bot&text=\u306f\u308d\u30fc\u308f\u30fc\u308b\u3069&bot_verifier=b3c03556dca8dfffb8c509cb709817044c98ad87\u2018

\n
\n

\u30e1\u30fc\u30eb\u304b\u3089Linger \u306b\u6295\u7a3f

\n

\u9e7f\u5150\u5cf6\u3089\u3050\u306eML \u3060\u3051\u3092\u767b\u9332\u3057\u305f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u7528\u610f\uff0e\u305d\u306e\u30a2\u30c9\u30ec\u30b9\u306e .forward \u306b\u4ee5\u4e0b\u306eSctipt \u3092\u547c\u3076\u3088\u3046\u306b \"|exec /home/mk/bin/ml2lingr.pl\" \u306e\u3088\u3046\u306a\u611f\u3058\u3067\u8a2d\u5b9a\u3057\u3066\u304a\u304d\u307e\u3059\uff0c\u5f8c\u306f\u30e1\u30fc\u30eb\u304c\u5c4a\u304f\u3068\u3053\u306eScript\u304c\u547c\u3070\u308c\u3066Room \u306b\u6295\u7a3f\u3055\u308c\u307e\u3059\uff0e

\n


\u203bbot_verifier \u306f\u30c0\u30df\u30fc\u3067\u3059\uff0e

\n

\u3066\u3053\u3068\u3067irc \u306ebot \u3068\u304b\u66f8\u304f\u3088\u308a\u305a\u3063\u3068\u304a\u624b\u8efd\u306b\u66f8\u3051\u307e\u3057\u305f\uff0e
\u4eca\u56de\u306f\u5358\u306b\u6295\u7a3f\u3059\u308b\u3060\u3051\u3067\u3059\u304c\uff0ccgi \u3067room \u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u89e3\u6790\u3057\u3066\u53cd\u5fdc\u3059\u308b\u3068\u304b\u3059\u308b\u3068bot \u3089\u3057\u304f\u306a\u308a\u307e\u3059\u306d\uff0e

\n

\n", "content_text": "\u9e7f\u5150\u5cf6\u3089\u3050 \u306eLingr room \u3092\u4f5c\u3063\u3066\u307f\u305f\u306e\u3067\uff0c\u305d\u3053\u306bML \u306eSubject \u3092\u6d41\u3059bot \u3092\u8a2d\u7f6e\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\u3053\u3061\u3089\u306b\u30da\u30fc\u30b8\u306b\u4f5c\u308a\u65b9\u304c\u8f09\u3063\u3066\u3044\u307e\u3059\uff0ebot\u7528\u306eAPI \u304c\u3042\u308b\u306e\u3067\u697d\u3005\u3067\u3059\uff0e\n\n\u201cHome \u00b7 lingr/lingr Wiki\u201d https://github.com/lingr/lingr/wiki\n\nbot \u767b\u9332\n\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067bot \u3092\u767b\u9332\u3057\u307e\u3059\uff0e\n\n\n\u201cLingr\u201d http://lingr.com/bot/create\n\nBot id : \u4efb\u610f\nCallback URL : \u3053\u306eURL \u306broom \u306e\u5185\u5bb9\u304c\u98db\u3093\u3067\u304d\u307e\u3059\uff0e\u305d\u306e\u5185\u5bb9\u304b\u3089\u53cd\u5fdc\u3057\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\uff0e\u3068\u308a\u3042\u3048\u305a\u6700\u4f4e\u9650HTTP \u3067200 \u3092\u8fd4\u3059\u3082\u306e\u3092\u7528\u610f\u3057\u3066\u6307\u5b9a\uff0e\n\n\n\n\u30e1\u30c3\u30bb\u30fc\u30b8\u53d7\u4fe1\u7528\u306ecgi \u3092\u4f5c\u6210\n\u3072\u3068\u307e\u305a\u53d7\u3051\u7b54\u3048\u306f\u3057\u306a\u3044\u3064\u3082\u308a\u306a\u306e\u3067HTTP 200 \u3092\u8fd4\u3059\u3060\u3051\u306eScript \u3092\u7528\u610f\uff0e\n\n\u6295\u7a3f\u30c6\u30b9\u30c8\nget \u3060\u3051\u3067\u6295\u7a3f\u3067\u304d\u308b\u306e\u3067\u8a66\u3057\u306b\u6295\u7a3f\u3057\u3066\u307f\u307e\u3059\uff0c\n\u4ee5\u4e0b\u306e\u30da\u30fc\u30b8\u3067\u60c5\u5831\u304c\u5165\u624b\u3067\u304d\u307e\u3059\uff0e\n\u201cLingr\u201d http://lingr.com/developer\nbot_verifier \u306f\u8f09\u3063\u3066\u3044\u307e\u305b\u3093\u304c\uff0cbot ID \u3068Secret \u304b\u3089\u6c42\u3081\u3089\u308c\u307e\u3059\uff0eKagolugML_bot \u3068 xxxxxxxxxxxxxxxxxxxxxxxxxxx \u3092\u7d50\u5408\u3057\u305f\u6587\u5b57\u5217\u3092sha1 \u306b\u304b\u3051\u307e\u3059\uff0e\n$ echo -n 'KagolugML_botxxxxxxxxxxxxxxxxxxxxxxxxxxx'|sha1sum \nb3c03556dca8dfffb8c509cb709817044c98ad87 -\n\n\u3053\u306e\u5834\u5408 b3c03556dca8dfffb8c509cb709817044c98ad87 \u304c bot_verifier \u3067\u3059\uff0e\n\n\u6295\u7a3f\u5148\u306eroom : kagolug\nbot ID : KagolugML_bot\nbot_verifier : b3c03556dca8dfffb8c509cb709817044c98ad87\n\n\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u307f\u308b\u3068room \u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u6295\u7a3f\u3055\u308c\u307e\u3057\u305f\uff0c\n\nw3m -dump \u2018http://lingr.com/api/room/say?room=kagolug&bot=KagolugML_bot&text=\u306f\u308d\u30fc\u308f\u30fc\u308b\u3069&bot_verifier=b3c03556dca8dfffb8c509cb709817044c98ad87\u2018\n\n\u30e1\u30fc\u30eb\u304b\u3089Linger \u306b\u6295\u7a3f\n\u9e7f\u5150\u5cf6\u3089\u3050\u306eML \u3060\u3051\u3092\u767b\u9332\u3057\u305f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u7528\u610f\uff0e\u305d\u306e\u30a2\u30c9\u30ec\u30b9\u306e .forward \u306b\u4ee5\u4e0b\u306eSctipt \u3092\u547c\u3076\u3088\u3046\u306b \"|exec /home/mk/bin/ml2lingr.pl\" \u306e\u3088\u3046\u306a\u611f\u3058\u3067\u8a2d\u5b9a\u3057\u3066\u304a\u304d\u307e\u3059\uff0c\u5f8c\u306f\u30e1\u30fc\u30eb\u304c\u5c4a\u304f\u3068\u3053\u306eScript\u304c\u547c\u3070\u308c\u3066Room \u306b\u6295\u7a3f\u3055\u308c\u307e\u3059\uff0e\n\u203bbot_verifier \u306f\u30c0\u30df\u30fc\u3067\u3059\uff0e\n\u3066\u3053\u3068\u3067irc \u306ebot \u3068\u304b\u66f8\u304f\u3088\u308a\u305a\u3063\u3068\u304a\u624b\u8efd\u306b\u66f8\u3051\u307e\u3057\u305f\uff0e\u4eca\u56de\u306f\u5358\u306b\u6295\u7a3f\u3059\u308b\u3060\u3051\u3067\u3059\u304c\uff0ccgi \u3067room \u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u89e3\u6790\u3057\u3066\u53cd\u5fdc\u3059\u308b\u3068\u304b\u3059\u308b\u3068bot \u3089\u3057\u304f\u306a\u308a\u307e\u3059\u306d\uff0e", "date_published": "2014-06-25T05:21:40+09:00", "date_modified": "2014-06-25T05:21:40+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "Perl" ] } ] }