正規表現内で変数を展開するときにハマったのでメモ 以下のように変数\$aが変数\$bを含んでいるはずなのになぜか正規表現の返却値が空文字だった。
xtetsujiです。 昨今は書籍よりも検索エンジンに頼って勉強する人が多くなってきているのかもしれませんが、そういう人を戒めるかのようにPerlでは「ググれない」一文字変数や一文字シンボルやそれに類するものの数々があります。 実際のところ、ちゃんと書籍を通読したり、perldoc perlvar perldoc.jp/perlvar を読めば理解できるのですが、それでもハマる落とし穴といったところを解説していきたいとおもいます。 use English; は使わない perlvar の解説を読んでいると、一文字変数が嫌な場合は use English; とすれば $_ が $ARG として参照できて嬉しいよ、といった解説が行われていますが、通常 use English; は使いません。というか、use English; を使ったプロジェクトを内外で見聞きしたことが10年の間に私の経験上あ
リファレンスの利用方法 Perlにはスカラや配列、ハッシュのほかに、『リファレンス』という一風変わった変数があります。スカラに代表される一般的な変数は、その名のとおりデータ(値)を記録するためのものですが、リファレンスは違います。リファレンスは値を記録する代わりに、値を格納しているアドレスを記録します。 リファレンスの概要リファレンス演算子(\)を使ったリファレンスの作成リファレンスの参照参照先のデータタイプを調べるソフトリファレンス リファレンスの概要 ここでちょっと変数についておさらいしてみましょう。変数は、ユーザが指定した値を記録し、あとから変数名を使ってその値を呼び出すためのものです。このとき、変数が何をやっているかというと、指定された値をコンピュータのメモリに記録して、アドレスと変数名をリンクさせています。 リファレンスは、値の代わりに、変数名にリンクされたアドレスを記録するスカ
インストールはいたって簡単 $ cpanm install Perl::Tidy そうすると、perltidyがインストールされる。 $ which perltidy /usr/local/bin/perltidy あとはそれを使い綺麗にしてもらう。 perltidy old_sample.pl -o old_sample.pl エディターなんかに登録すると、らくちん ~/.vimrcに map ,ptv :'<,'>! perltidy map ,pt :%! perltidy を追加して、 ,ptvを入力すると選択している箇所が、 ,ptを入力すると、ファイル全体を綺麗にしてくれます。 ついでに~/.perltidyrcも公開 -l=78 # Max line width is 78 cols -i=4 # Indent level is 4 cols -ci=4 # Continua
弊社オススメの CPAN モジュールたちです。 Module::Install(by audreyt) Test::Base(by ingy++) Path::Class Plagger(miyagawa and Plagger AUTHORS) Xango(dmaki) MIME::Lite メール送信モジュール Mail::Address::MobileJp(miyagawa) モバイルのメアドかどうかの判定モジュール HTTP::MobileAgent(id:clouder) モバイルのサイトつくるなら、これがないと。 Regexp::Assemble Template テンプレートエンジンはこれがいちばんかな。 DateTime(Dave Rolsky) 日時を扱うなら最近はこれ YAML(ingy) PadWalker? DBIx::Class::Schema List::Uti
「個人ニュースサイトのニュースを一ヶ所でまとめて読みたいんだけど…」 「それPla(ry」 というわけで、RSS配信を行っていない個人ニュースサイトをPlaggerで読もうと思ったのですが、リンクがまとまってなかったのでまとめてみました。これを機会にPlaggerをはじめてみようと思った人のたの参考リンク集付き。 ◎なつみかん@はてなさん 個人ニュースサイトをGmailでまとめて読もう 導入編 CustomFeed::Config RinRin王国さん CustomFeed::Config かーずさん CustomFeed::Config マク CustomFeed::Config 放蕩オペラハウス CustomFeed::Config AppleStyle CustomFeed::Config 楽画喜堂 CustomFeed::Config うつらうららか CustomFeed::Con
ドキュメントねー,と思ったら Redirecting… みたいな素敵なチュートリアルがあったのでいまさらながら使えるようになりました。サンプル群も参考になりました。 はてブのホッテントリから,タイトル,URL,キーワード,タグを抜き出すのを書いてみました。わりと素直に書くとこんな感じ? use strict; use warnings; use Web::Scraper; use Encode (); #binmode \*STDOUT, ':utf8'; my $utf8 = Encode::find_encoding('utf8'); my $target = do { if (@ARGV && ! -f $ARGV[0]) { use URI; URI->new($ARGV[0]); } else { local $_ = do { local $/; <> }; $utf8->de
Perlとは何か Perlはテキスト処理に特に優れた非常に強力なプログラミング言語です。でも,うまく使えばシステムをきれいに掃除させることもできますし,さらにあなたの心もいやしてくれるに違いありません。また,多くのディストリビューションで標準的にインストールされていますし,自分でインストールすることも難しくはありません。 「PerlってCGIじゃないの?」と思う方がいるかも知れません。確かに,CGIで利用するためにPerlに出会った人は多いでしょう。主な利用方法といえば,Webアプリケーションの作成かもしれません。しかし,「プログラミングPerl」*1によれば,Perlは最初,システム管理のためのツールとして作られたものだったのです。 FedoraなどのLinuxディストリビューションでは導入時に開発環境を選ぶとPerlがインストールされます。同時にPerlのドキュメントもインストールされ
配列と連想配列(ハッシュ)と配列リファレンスとハッシュリファレンスの書き方が全部異なるのが、Perl を異界の呪文に見せている原因だと思います。正直自分も時々忘れますし、全部 Array で済む PHP のほうが最近は好きです(PHP5の話、PHP4はたぶん一生使いません)。 関数内で中身を書き換えたいときはリファレンスにして渡します。配列や連想配列(ハッシュ)のまま関数に渡すと値が全部展開されてコピーされるので、メモリーもすごく食うし、時間もすごくかかります。通常はリファレンスで扱ったほうがいいと思います。 ただ、リファレンスを配列や連想配列(ハッシュ)として扱いたいときは @$array や %$hash とデリファレンスしてやらなければならないので、これはこれで面倒くさいですが・・・。 結論:Perl は使うな(笑) ちなみにスカラーとスカラーリファレンス、関数と関数リファレンスもあ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
日本語 | English 今年になっても更新をサボってますが... 買ってきた銅鑼 ボワーン (2003/8/1) News いきなりなんちゃってAjaxネタ 郵便番号による住所検索サービスを呼び出してみるサンプルにさらにちょっと追加 JavaScript+RPCで入力チェック http://hippo2000.atnifty.com/rpc/zipAddrRpc.html PerlはバックでXMLRPCを中継しているんだな、後はいつものチェック関数を呼び出してるんだなこれが... (2005/3/27、4/4更新) 連載も終わったことだし.、来年は動けるかなぁ...。そろそろSp::Pをキチンとやり直したい気分なんですが。 更新できていないので「うまいもん食いてぇ」をなくしました(中身は残ってますけど、いずれ削除予定)。 (2004/12/30) 緊急告知 DBI-Japa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く