
The Perl Beginners’ Site aims to be a first-stop web site (or portal) for useful links and resources, for learning Perl and for extending your Perl knowledge - for beginners and more experienced programmers alike. Perl is a flexible, feature-rich, dynamic programming language. Perl code is succinct and can be written quickly, while still performing well in most cases. Read more… In order to learn
#Perl 5.42.0 Documentation The perldoc program gives you access to all the documentation that comes with Perl. You can get more documentation, tutorials and community support online at https://www.perl.org/. If you're new to Perl, you should start by running perldoc perlintro, which is a general intro for beginners and provides some background to help you navigate the rest of Perl's extensive docu
Coroが非同期にルーチンを扱う(コルーチンを扱う)モジュールだということはご存知だと思うが、いまいちピンと来ていない人も多いのではないだろうか。これは、1つにCoroやCoro::Introの例題が悪すぎると思う。例えば、Coro::Introのサンプルスクリプトはこうだ。 use Coro; async { print "async 1\n"; cede; print "async 2\n"; }; print "main 1\n"; cede; print "main 2\n"; cede; このスクリプトは確かに面白い挙動をするが、スレッドを実現してるんだよと言われるとちょっと「?」である。こんなのgoto文でできるじゃんみたいな。そしていきなりセマフォやチャネルの話に飛んでしまい、肝心の「Coroはスレッドが実現できるんだよ」というところが分かりにくい。そこ
もの凄い乗り遅れた感ですが僕も Moooooooooooooooooose してみる。 とりあえず Cookbook をやってみる事にしてみました。 Moose::Cookbook::Recipe1 - The (always classic) Point example. - metacpan.org ソース まぁ適当にテストとか追加してある。 package Point; use Moose; has 'x' => ( isa => 'Int', is => 'ro' ); has 'y' => ( isa => 'Int', is => 'rw' ); sub clear { my $self = shift; $self->{x} = 0; $self->y(0); } package Point3D; use Moose; extends 'Point'; has 'z' =>
今日で株式会社ソフリットが設立されて1年です。また「会社を作って1年たったまとめ」を書こうかとも思ったんですが、あんまり面白くならなかったので、今年覚えたことのうちでいちばん重要そうなことをまとめようと思います。それは「Makefile.PLを書こう」ということ。 ではさっそく、これからHoge.pmというperlモジュールを書くとしましょう。 [danjou@guido] $ mkdir Hoge [danjou@guido] $ cd Hoge ここでおもむろにMakefile.PLを書き始めます。 [danjou@guido] $ vim Makefile.PL use inc::Module::Install; WriteAll; とりあえずこれだけ書いて保存します。そしてperl Makefile.PLとして実行します。 [danjou@guido] $ perl Makefil
2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new
by Hippo2000(2000/8/6) Perlに限らず、プログラム開発においてドキュメントは必要不可欠です。 特にPerlの場合、かなり便利な機能があるのですが、あまり知られていないようです。 #というより、私が知らなかっただけか(^^;; ちょっとその辺をまとめてみようと思います。 目次 1. ドキュメントの場所 2. POD形式とその変換 2.1 POD形式 2.2 変換ユーティリティ 3. perldoc 4.. ちょっとした小技 1. ドキュメントの場所 当然すぎるほど当然ですが、ラクダ本(「プログラミングPerl」)が、最も基本的な、そしてもっとも重要な情報でしょう。 しかしPerlの場合、インストールするだけでドキュメントがついてきます。またインターネットから各種の最新ドキュメントを取得することができます。(特にCPANに登録されているモジュールを利用する場合には!)
Plain Old Documentation(POD)は、Perl における単純でプラットフォームに依存しないドキュメンテーションツールである。 POD は必要十分な文法を持つ単純で明快な言語として設計された。書体、画像、色、表などの機構を意図的に排除し、必要な機能だけを持つようにしている。その目的は以下の通りである。 構文解析が簡単である。 他の言語(HTML や TeX)への変換が簡単である。 サンプルコードを含めるのが簡単である。 フォーマッタで整形しなくても(ソースコードのままで)読むのが簡単である。 書くのが簡単である。さもなくばプログラマは文書を書きたがらない。 perlpod の筆者は「POD形式は本を書くのには不十分である」と書いているが、PODを拡張した書式で本が実際に書かれている。この拡張版PODには表や脚注の機能があり、オライリーメディアから出ているいくつかのPer
文字列 数値を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__ 続きを読む
404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基本をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基本的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pm の Perlスクリプトで実装されています。し
Catalyst::Manual::Cookbook - Cooking with Catalyst - metacpan.org Basics Catalystを使う人が知っておいた方がいいこと。 Delivering a Custom Error Page アプリケーションでエラーが発生したときはCatalystは独自のエラーページを表示する。-Debugモードのときはエラーメッセージとコンテキストオブジェクト($c)のData::Dumpの出力を表示する。-Debugモードじゃないときは"Please come back later"が表示される。 エラーページを変更するにはendメソッドにエラー処理を書けばいい。例を示す。 sub end : Private { my ( $self, $c ) = @_; if ( scalar @{ $c->error } ) { $c->st
Fukuoka Perl Mongersの第12回定例勉強会で発表させていただいた資料を公開します。アプリケーションとしては、かなり貧弱なものですが、Catalystの触りの部分だけでも理解していただければ幸いです。 Catalystで一行掲示板 Catalystで一行掲示板 目的 今回実装した機能 開発環境 インストール 開発用サーバー起動 初期設定 URIマッピングを決める コントローラー(Controller)生成 Template Toolkit(TT)の初期設定 テスト データベース テンプレート(View)作成 コメント投稿フォームを表示するメソッドを実装 ログイン機能 動作確認 足りない機能 Reference 目的 とにかくCatalystで動作するものを作ってみる。 実装は簡単に。 ログイン/ログアウトは実装する。 DBのテーブルリレーションは一箇所くらいやってみる。 D
サブルーチンの基礎 サブルーチンとは 引数 引数の3種類の受け取り方。 $_[0], shift, @_ 配列、ハッシュを引数として渡す 配列とハッシュを区別して渡す。 戻り値 スカラーコンテキストとリストコンテキスト サブルーチンの戻り値 スカラーとリスト スカラーかリストをコンテキストに応じて返却する。wantarray 単独のreturn サブルーチンの役割 Perlのサブルーチンの特徴 よいサブルーチンを作成するための心がけ サブルーチン作成を作成して単体試験( 自動試験 ) を可能にする。 サブルーチンはプログラムの目次をつくるためのものでないので注意する。 サブルーチン演習 cvs形式の文字列を、配列の配列に変換する。 cvs形式の文字列を、ハッシュの配列に変換する。 最大値と最小値を求める。 バブルソートする。 降順と昇順を選択してバブルソートする。 サブルーチン作成の技術
id:naoyaの技術発表(10月15日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど)。 これを聞いて、Catalyst面白そうということに気づいて触ってみています。 インストールと簡単な動作 Perl の MVC フレームワーク Catalyst に入門してみた : NDO::Weblogを一通り読めば分かると思います。 私の環境だと sudo perl -MCPAN -e 'install Class::DBI::mysql' を追加で行う必要がありました。 お作法 Catalystではどう書くのが正しいか等、迷う部分が多々あります。 いろいろ調べた結果、これだと思うものを紹介していき、標準化(?)のたたき台になればよいかなと。 URLマッピング CatalystのURLマッピングはとても柔軟です。たくさん種類があってこまりますw。 直接URLを指定 /foo/b
Perlクックブックソースコードリンク集 このページは「Perlクックブック―Perlの鉄人が贈るレシピ集(第1版)」に記述されているソースコードを簡単に参照できるようにするために作成したリンク集です。ネットワーク上に存在するPerl Cookbook(英語)のリソースに対してリンクを設定しています。 Perlクックブックの解説やソースコードの引用は私のウェブページ上には用意していません。必要であればPerlクックブックを購入するか、あるいはリンク先の英文の解説を読んでください。 1章 文字列 1.0 概要 レシピ1.1 部分文字列を取り出す レシピ1.2 デフォルト値を設定する レシピ1.3 一時変数を使わずに値を交換する レシピ1.4 ASCII文字をコード値に(コード値をASCII文字に)変換する レシピ1.5 文字列を1文字ずつ処理する レシピ1.6 文字列を単語または文字単位で逆
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く