タグ

perlに関するsiroccoのブックマーク (106)

  • Perl 5.8 で似非継続 - Tociyuki::Diary

    torus solutions! さんの「なんでも継続、Perl で。」のコード例は Scheme なら確かに継続になっているのですが、Perl 5.8 までは末尾関数呼び出しを goto にしてくれないので、クロージャをスタックに積み上げる再帰呼び出しのまんまです。 (11月18日追記)この問題を小飼弾さんが「継続は力なり」で解決しようと試みていますが、この解は残念ながら leaf_count_cps_g の呼び出しがループ(もしくは goto)になっていません。そもそも scheme で 再帰版 leaf_count を継続を使って書き改める動機は「継続と関数のすべてを末尾呼び出しに書き換えることでループ化する」ことですから、Perl でもそうしてみたいのです。 それならばと goto &subroutine名 を使えないかとやってみたのですけど、思ったように動いてくれませんでした。

    Perl 5.8 で似非継続 - Tociyuki::Diary
  • 継続は力なり : 404 Blog Not Found

    2005年08月28日21:42 カテゴリLightweight Languages 継続は力なり LLDN2005、みなさんお疲れさまでした。私は寝不足もあって今日は一日中死んでました。昼の部と夜の部に関してすでにレポートがいくつか上がっています。 Perl6 and Parrot Essentials Randall/Sulgaski/Tötsch blogでは、順不同にLLDN2005では扱いきれなかった「宿題」を片付けて行く事にします。まずは継続について。 会場Kahuaへの質疑問答の中で、継続に関する質問が失礼ながらとんちんかんで、言語屋にとっては常識である継続(continuation)も、まだまだ一般的に理解されているとは言えないことを実感した。すでにgaucheのShiroさんによる「なんでも継続」などのすばらしい解説があるにも関わらず、ここで蛇足的な説明と、そしてPar

    継続は力なり : 404 Blog Not Found
  • なんでも継続、Perl で。 : torus solutions!

    最近よくコンティニュエーション・パッシングだとか、 継続ベースの○○とか、 そういう話題を耳にします。 でも継続っていうのが何なのか良く分からなかったので、 お正月休みに Shiro Kawaiさんの なんでも継続 を読んでみました。 今までずっと難しいだろうと思って読んでなかったんだけど、 これがまたとても分かりやすくて面白かったので、 途中にあげられていたサンプルコードを Perl でも書いてみました。 普通の再帰形式 Scheme では (define (leaf-count tree) (if (pair? tree) (+ (leaf-count (car tree)) (leaf-count (cdr tree))) 1)) Perl では Perl にはペアがないので、 2 要素の配列でエミュレートすることにします。 それ以外はそのまんまです。 sub leaf_count

  • Perl入門講座 - builder by ZDNet Japan

    今を知り、未来を見据える 培ってきたノウハウを最新技術へ対応させる レガシーシステムのモダン化実現への道 ネットワークもサービスとして使う いま企業ネットワークが受ける大きな制約 クラウドシフトで大きく変わる! 激変するビジネス環境の中でのDX モダンアプリケーション戦略への取り組みが 市場の競争力の源泉となる 体験から学んだ成功への知見 マネーフォワード×エム・フィールド対談 Fintechプラットフォーム開発の「鍵」 ともにDXを推進する コンテナ化されたワークロードを管理 継続的な価値を生みだす「協創」への挑戦 自社利用の知見・経験を顧客に提供 コンテナ活用を推進する日立製作所 VMware Tanzuを利用したモダナイズを伝授 大学、研究機関、製造業など いま目覚ましい躍進ぶりを見せるデルのHPC その背景と選ばれる理由にせまる エッジからハイブリッド環境まで 考えられる全てのイン

    sirocco
    sirocco 2007/12/21
  • perldelta - perl 5.10.0 の新機能

    perldelta - perl 5.10.0 の新機能 perldelta - what is new for perl 5.10.0 名前 NAME perldelta - perl 5.10.0 の新機能 perldelta - what is new for perl 5.10.0 説明 DESCRIPTION このドキュメントでは 5.8.8 リリースと 5.10.0 リリースとでの相異点を 説明します. This document describes the differences between the 5.8.8 release and the 5.10.0 release. 5.10.0 でのバグ修正の多くは既に 5.8.X メンテナンスリリースで見ることができます; それらはここには重複しないで, perl58[1-8]?delta の マニュアルページ群に記載し

    sirocco
    sirocco 2007/10/24
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
    sirocco
    sirocco 2007/10/22
  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl

  • PositLog - Redrawing the Web

    [Login] Project page: https://github.com/canal874/positlog Preferred language[English] [Japanese] フォーラム(コメント・バグ報告など) Copyright (c) 2006-2008 Hidekazu Kubota All rights reserved hidekazu.kubota@gmail.com News! 2009/10/9 進化版の Crowkeeプロジェクト(動的コンテンツの開発を可能とするWebアプリケーション)で、2008年度下期未踏体スーパークリエータに認定されました. サイトのページ一覧 便利な使い方 ロードマップ 次のマイナーアップデート予定 サイトの更新情報 FAQ PositLog redrawing the Web 機能の詳細 マニュアル PositLogとは

  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • 萌えPerl|トップページ

    はじめまして パールって何? なんでパール? 環境作り プログラムとは 書き方の基 変数配列ハッシュ リファレンス 演算子 条件文 繰り返し文 サブルーチン 正規表現 文字列の操作 フォーム リンク ディレクトリ ファイル操作 ロックファイル ファイル入出力 データの記録 コマンドで操作 簡単な例 簡単な例2 WWW を検索 萌えPerl を検索 更新履歴 2009.6.10 [修正] 条件文.デフォルト値設定の説明追加。 2009.3.16 [修正] 正規表現の説明追加。 2008.2.3 [修正] コマンドラインの説明追加。 2008.1.2 [修正] リファレンスの説明追加。 2007.11.19 [修正] 条件文の説明追加。 2007.11.7 [新規・削除] コマンドライン|簡単な例2の説明追加。 夏季特別壁紙削除。 2007.8.31 [新規] コマンドラインの説明追加。 2

    sirocco
    sirocco 2007/01/22
  • 美しいプログラムの美しくないソース : 404 Blog Not Found

    2006年12月19日17:00 カテゴリArt 美しいプログラムの美しくないソース 半分だけ同意。 304 Not Modified: プログラマの美意識 私にとって美しいプログラムとは、シンプルなプログラムのことです。なぜ半分だけ、かというと、美しくない状況をより美しくすることがプログラムの使命であるならば、結果としてソースコードが美しくならないことも往々にしてあるから。 もっと身も蓋もない言い方をすると、この世の穢れをプログラムが背負う事もまたあるのだということ。 このことは、特にAPIを提供するソースを書くときに顕著だ。こういったプログラムに求められるのは、APIが美しいことであって、ソースコードそのものが美しいことではない。そこでは、さまざまな泥臭いことはAPIを提供するプログラムがかぶることで、APIのユーザーは醜いものを気にせずにプログラムできるようになる。 実装が美しいけど

    美しいプログラムの美しくないソース : 404 Blog Not Found
  • まるごとPerl! Vol.1 - Google Book Search

    sirocco
    sirocco 2006/12/15
  • perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found

    2006年11月26日02:45 カテゴリLightweight Languages perl, python & ruby - ord() vs. Unicode というわけで、ord篇はこちら。 404 Blog Not Found:perl, python & ruby - chr() vs. Unicode とりあえずchrが長くなったのでordは別entryということで。 文字から数値へ(ord) まずはPerlの例。 #!/usr/local/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ':utf8'; sub say { print @_, "\n" }; say ord "\x{61}"; say ord "\x{3b1}"; say ord "\x{5F3E}"; say ord "\x{2A6

    perl, python & ruby - ord() vs. Unicode : 404 Blog Not Found
  • 404 Blog Not Found:perl - In-Memory File

    2006年11月08日04:30 カテゴリLightweight Languages perl - In-Memory File Perl 5.8以降では、このような場合にin-memory fileが使えます。 【続】やはり Perl はメモリ喰いな言語。データ型の内部構造 :: Drk7jp DB上の全レコードをいったん perl 側の配列に格納して、その結果を返す。ってコードなのですが、当然ながらレコード数が多くなればメモリをうのは当たり前なのですが、以前の記事の内容を完全に忘却してました。ここには落とし穴があるのです。使い方は、簡単です。 my @array = (0x21..0x7e); my $memfile; open my $wfh, '>', \$memfile or die $!; print $wfh chr($_), "\n" for (@array); clos

    404 Blog Not Found:perl - In-Memory File
  • 【続】やはり Perl はメモリ喰いな言語。データ型の内部構造

    以前、「やはり Perl はメモリ喰いな言語。データ型の内部構造」という記事を書いたことがあるのですが、自分で書いておきながらしばらく立つと完全忘却してました。時代は変わって、今仕事で運用しているサーバは、64bit 版のOSです。 最近になって、DB のテーブルのデータを加工・集計しながら CSV にダンプするってプログラムが、データ数が非常に多いときに、1.5 GByte ほどメモリをいつぶしているってことに気がつきました。理由は至って簡単なのですが、結構ハマリどころなので備忘録として記事にしておくことにしました。 みなさん、仕事とかでは特にそうだと思うのですが、DBI の処理って何らかのラッパーを書いて使っていると思います。僕は適当に書くとよくやってしまいがちなのですが、イメージ的には、こんな処理の流れのコードを書いていました。 (・・・えっ?そんなへぼコード書いてない??・・・す

    sirocco
    sirocco 2006/11/08
  • perl - GDで文字列を画像に : 404 Blog Not Found

    2006年09月30日23:30 カテゴリLightweight Languages perl - GDで文字列を画像に 野暮用があったのでこさえました。 GD.pmを使ってプログラムするのは久しぶり。 [追記:機能強化しました]これまた車輪の再発明っぽいのですが、気に入ったのがなかったので。 いわずもがなですが、鯖にアクセスできる人はなるべく自分のところでこのCGIを動かして下さい。ソースは例によってご自由にお持ち帰りいただいて結構なので。 そうそう。もちろん日語も通ります(もちろんフォントが日語をサポートしている場合には)。 Font: Size: Antialiased? Foreground Color:# Background Color:# Transparent Padding:px GDはTrueTypeサポート付きでインストールする必要があり、またTrueTypeフォ

    perl - GDで文字列を画像に : 404 Blog Not Found
  • まるごとPerl! Vol.1 : 404 Blog Not Found

    2006年08月24日00:00 カテゴリ書評/画評/品評Lightweight Languages まるごとPerl! Vol.1 2006.07.31掲載:発売まで告知 来月、いや今月24日発売です。 まるごとPerl! Vol.1 [インプレスのページ] ふるって予約してもらえるとうれしいです。 目次は以下のとおりとなってます。 ■基礎編 いまどきの作法 モジュール&CPAN基礎講座(著者:Kansai.pm 川合孝典) まるごとEncode(著者:小飼 弾) コラム 日Perl事始(著者:歌代和正) ■特集1 フレームワークで10倍速の開発 使ってわかるCatalyst(著者:加藤 敦) Sledgeにおまかせ(著者:株式会社ライブドア 栗原由樹) Jifty――ジャスト・×××××・ドゥ・イット!(著者:石垣憲一) ■実習編 Web2.0時代のPerlテクニック PerlでWe

    まるごとPerl! Vol.1 : 404 Blog Not Found
  • 一般ユーザ環境におけるCPANモジュールの使い方 - iandeth.

    先週公開した、じゃらんWebサービスを使ったサンプルサイト「シンプル宿検索」にて、perlのソースコードも一緒に公開してみたのですが、さっそく興味を持ってくれた方から問い合わせを頂きました。 cgiを実行させようとしたら以下のエラーが出てしまいました: Can't locate Template.pm in @INC (中略) at search.cgi line 5 ... Template.pm モジュールがインストールされてないよ!って怒られています。あー、コード公開する際は必要なCPANモジュールも一緒に添付しといてあげたほうが親切なのかな?いやでもそれ面倒くさいし無理あるなあ・・・。 Webでキーワード "CPAN" を検索すると出てくるCPANの使い方系ページの多くは、そのサーバの root 権限を持っている前提で、サーバの共通ライブラリ下にCPANモジュールを追加する方法を紹

  • perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found

    2006年06月16日00:00 カテゴリLightweight Languages書評/画評/品評 perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... 正規表現においては、/a|b|c/(alteration)は[abc](character class)にすべし、というのは、perlに限らない常識です。 Mastering Regular Expression Jeffrey E. Friedl [邦訳: 詳説 正規表現] qootas.org/blog - perl regex performance"|"(パイプ)を使った正規表現はめちゃくちゃ遅いから使わないように、ということです。確かにベンチマークを取ると32倍速いです。 どうせならPerl自身が内部で/a|b|c/を[abc]にしてくれたらと思ったことありませんか? 少なくとも、正規表現を仕事で使う

    perl - 自動で /a|b|c/ を /[abc]/ にしてくれたら... : 404 Blog Not Found
  • [を] Perl の -T スイッチ

    Perl の -T スイッチ 2006-05-27-3 [Programming] プログラミング Perl 第3版 VOLUME 2 「23章 セキュリティ」より: デーモン、サーバ、および他人のために実行されるすべてのプログラム (例えばCGIスクリプト)には、-Tスイッチを指定すべきである。 [...] すべてのCGIスクリプトに-Tフラグを指定して実行するということは、単 に良い考えであるだけではない――それは、荒野のごときインターネット で生き延びるための掟なのである。 「掟」だそうです!!! とはいえ、今まであまり意識してませんでした。反省。 というわけで説明。perlスクリプトの先頭を以下のようにする。 #!/usr/bin/perl -T すると、コマンドライン引数やCGIのパラメタなどの外から来た変数を ファイル名として開くときに Insecu