4/28(土)4/29(日)幕張メッセで開催された「ニコニコ超会議」のサブイベント「超エンジニアミーティング」の「エンジニア100連発」企画にて、ビデオ出演させていただきました。そのときの録画をニコニコ動画にアップロードしましたので、お知らせします。 過去の私の作品の中から「ニコニコ」にちなんだ「顔文字」系プログラミングの話をピックアップしていくつか紹介させていただきました。元の依頼が、完成度・すでに発表済みであるかどうかなどを問わず、自由な発想の元に作られた作品をテンポよくプレゼンし、聴衆の「今すぐ何かを作りたい!」という創作意欲を掻き立てるようなデモに下さい、という依頼でしたので、そのような構成で引き受けました。 いろいろ過去に発表しているネタとほとんどかぶっているので、私のプレゼンを見ている人にとって新鮮味はないかと思いますが、部屋で淡々と一人で解説している貴重な動画ですので、お楽し
プログラミング初心者にオススメのPerl本にて、リャマ本(『初めてのPerl』)を読了した段階でls(1)やgrep(1)の簡易版を作れるようになっていればよい、と書きました。そこで実装例として、最小限のls(1)を実装してみました。また、リャマ本読了程度の知識を前提にすることと、Perl 5.8ベースで標準モジュールを以外は使わない<ことを制約としました。なお、所要時間は一時間程度です。 仕様は最小限ながらそれなりに役立つようにしたかったので、以下のようにしました。 引数としてディレクトリ名をうけとる 引数を省略するとカレントディレクトリ(.)になる オプションは-la(長い出力ですべてのファイルを表示)相当で固定 group名、user名は省略し、パーミッション・ファイル更新日時・ファイル名を出 実装の際のポイントは以下のとおりです。 stat()やlocaltime()の戻り値は扱い
いまさら使う人はいないと思っていますが かつて、jperlと呼ばれるものがありました。これは当時まだシングルバイト文字にしか対応していなかったPerl本体にパッチをあてて日本語(など)の2バイト文字をより直感的に扱えるようにしたもので、いまとなっては史料的価値しかありませんが、1990年代にはそれなりに重宝されていましたから、筆者を含めて、お世話になったことのある方も少なからずいることでしょう。 jperlはその後、ライブラリレベルで日本語対応できるようにしたjcode.pl(1992年)や、その流れをくむJcode.pm(1999年)を経て、2000年にリリースされたPerl 5.6からは本家のほうでUnicode対応が始まったことで、その歴史的役割を終え、開発も事実上終了したのですが、困ったことに、それから10年がたったいまなお、jperlを求めたり、勧めたりする動きはやまないようです
Perl › 基礎文法ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world";Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメントPerlのコメントで
ActivePerlでNet::Twitterモジュールを使用してWindowsのコマンドラインからTwitterを更新するPerlスクリプトです。 準備 C:\work> ppm installNet::Twitter (Net::Twitterモジュールをインストール)スクリプト(tw.pl) #!/usr/bin/perl use strict; use warnings; use Encode; useYAML::Syck; useNet::Twitter; my $yaml = 'tw.yaml'; my $conf =YAML::Syck::LoadFile($yaml) or die qq{$yaml:$!\n}; my $status = $ARGV[0] or die qq{$0 message (in $conf->{encoding})\n}; $status
Perl › herePerl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々本当に面倒なことになります。 use strict;とuse wa
私はPerlのXSの勉強を、Simon Cozens氏とTim Jenness氏共著の″Extending andEmbeddingPerl″を読むことから始めました。2002年に発刊されて間もない頃でしたから、もうかなり昔です。勉強のために購入したのではありません。膨大なCライブラリの資産を再利用することが至上命令でしたので、インターフェースが変なものについてはXSラッパを書き、そのまま使えそうなものはInline::Cから利用しなければならなかったからです。 この本は確かにいい本です。実際にPerl Coreで使われているコードの断片や、重要なモジュール、例えばDBIからのコードの断片をサンプルコードとして載せており、サンプルコードを読むことに重点が置かれています。ですが、今、日本語版が出るかと問われれば、否と答えるでしょう。マーケティングの問題は置いとくとして、時代を反映してか、
Perlの命名規則 Tweet [Perl] amagamiの実装をしていて、ふと考えた疑問は 「Perlに命名規則は無いのかな?」 というものでした。 そこで、研究室内の方にそれとなく質問してみると、一様に 「好きにやれば良い」 との回答をくださったので、好きに名前をつければ良いか・・・とPerlにJavaの命名規則を適応していました。 # 私は以前Javaばかり使っていました。 ところが、PerlにJavaの命名規則を適応してもシックリこないのです。 実装上は別に問題は無いのですが、何だか落ち着きません。 そこで、Perlに有名な命名規則が無いのかを調べました。 調べること数分・・・あっさり見つかりました。 これはPerlの公式ドキュメントですね。Perl styleguide You may findit helpful to use letter case to indic
Perl › モジュール › here 日本語などのマルチバイト文字をPerlで適切に扱うにはEncodeモジュールを使用します。次の3つのことを覚えておけば多くの場合適切に日本語を扱うことができます。 外部から入力された文字列はEncodeモジュールのdecode関数でデコードする 外部へ出力する文字列はEncodeモジュールのencode関数でエンコードする ソースコードはUTF-8で保存しutf8プラグマを有効にする この解説での用語 この解説では外部から入力された文字列のことを「バイト文字列」と呼ぶことにします。Perlの内部表現に変換された文字列を「内部文字列」と呼ぶことにします。また「バイト文字列」が特定の文字コードで記述されている場合は「UTF-8バイト文字列」「Shift_JISバイト文字列」などと呼ぶことにします。 プログラミングで日本語を扱う場合にその文字列がバイト文字
はてなブックマークの Web Hook というのがリリースされましたね! (開発者さま向け)はてなブックマーク Web Hook 機能を公開しました -はてなブックマーク日記 - 機能変更、お知らせなどはてなブックマーク Web Hookとは -はてなキーワード これを設定しておくと、自分がはてブしたタイミングではてブ側からCGI 等を叩いてくれます。CGI から様々なプログラムを起動するようにしておけば、あんなことやこんなことが可能になっちゃいますね>< こ、これはすごい! ということでさっそく、自分がはてブしたページの URL をTwitter に POST するCGI を書いてみた。 ご自由にお使いください #!/usr/bin/envperl use utf8; use strict; use warnings; useCGI; useNet::Twitter
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
12位のPadreは最近活発に開発が続けられているPerl製のIDE。16位のAcmeはいわゆる「ネタ」系のモジュールを入れておく名前空間なのですが、ここで筆者の目を引いたのは15位にランクインしたDevelという名前空間。 これは、1996年リリースのPerl 5.002で導入されたDevel::SelfStubberを筆頭に、2000年に初お目見えした5.6系列でコア入りしたDevel::DProfやDevel::Peek、2002年の5.007003でコア入りしたDevel::PPPortなど、もともとはかなり高度な開発者向けのツールを入れておく名前空間でした。 典型的なDevel系モジュールであれば、perlコマンドの-dスイッチといっしょに使うと「Devel::」という名前空間を省略できる、という特徴があるくらいPerlの内部に密着した名前空間ですから(たとえば2008年に登場し
というのはですね、私が使ってるサーバで事故があって、いろいろとサイトを再構築していたのですが、私のことですから、自分がPerl で書いた古いCGI が大量にあって.... というわけで、完全復旧なんてできないかも?ともなってます。で、古いCGIを復旧するためには、当然、CPAN からライブラリを取ってきて、入れなおすことが必要になります。結構盛んにCPANライブラリを使って書いてましたからね....で、です。そこで気がつくのですが、あれ....CPAN ライブラリのバージョン更新があまり進んでない.....ということなんですね。たとえば、用途から考えて、現役でちゃんとメンテされているに決まっている XML::RSS あたりを基準に考えると、 2009年:2、2008年:8、2007年:1、2006年:4というくらいの更新があります(要するについさっきも更新があった、くらいの頻度)。そ
Perl MongersPerl Mongers とは、日本各地に存在する、Perl ユーザーのコミュニティのことです。各種イベントが行われていますので、是非参加してみましょう。 Shibuya.pm Fukuoka.pm Kansai.pm (@kansaipm) Yokohama.pm (@yokohamapm) Hokkaido.pm (@hokkaidopm) Nagoya.pm (@nagoyapm) Kushiro.pm (@kushiropm) Kyoto.pm (@kyotopm) Kamakura.pm Niigata.pm (@niigatapm) Sendai.pm (@sendaipm) Tokyo.pm Hachioji.pm (@hachiojipm) Chiba.pm (@chibapm) Yomitan.pm (@yomitanpm)Machida.pm
文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く