2009-01-01から1年間の記事一覧

Perl基礎文法最速マスター

Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文…

Mojoliciousのユーティリティ

Perl › Mojolicious Mojoliciousのユーティリティを紹介します。 継承を行う 継承を行う場合はbaseモジュールで行うことができますが、少し機能を拡張した継承の方法がMojoliciousには用意されています。機能を拡張した継承を行うには、Mojo::Baseのインポー…

Webアプリケーションの雛形の作成

Perl › Mojolicious Mojoliciousでは最低限必要な雛形を自動的に生成してくれます。雛形の作成方法と作成されたWebアプリケーションの雛形について解説を行います。 Webアプリケーションの雛形の作成 Webアプリケーションの雛形を作成するにはmojo直下のディ…

SQLiteを使用して学ぶSQLの基礎

SQLはデータベースにデータを挿入したり、データを取得するための問い合わせ言語です。SQLの基本的な書き方については標準化されているのでSQLiteでもMySQLでもOracleでもPostgreSQLでも同じ記述でデータベースに問い合わせを発行することができます。 SQLを…

SQLiteで学ぶデータベースの基礎

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

WindowsへSQLiteをインストールする

慣れてくるとさまざまな種類のSQLを実行して実験したくなると思います。そのためには対話的にSQLを実行できる環境があったほうが便利です。今回はWindows上でSQLを実行するための環境を作成してみます。 ライブラリとコマンドラインプログラムのダウンロード…

Perl6がリリースされてもPerl5は衰退していかないということを伝えたい

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

SQLiteで学ぶデータベース操作の基礎

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

現代的なPerlの記述方法一覧

Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれか…

Encodeモジュール - 日本語などのマルチバイト文字列を適切に処理する

Perl › モジュール › here 日本語などのマルチバイト文字をPerlで適切に扱うにはEncodeモジュールを使用します。次の3つのことを覚えておけば多くの場合適切に日本語を扱うことができます。 外部から入力された文字列はEncodeモジュールのdecode関数でデコー…

Perlモジュール徹底解説

Perl › here Perlのモジュールについての解説です。Perlでいうモジュールとは良く使う機能や便利な機能をプログラムで利用するための仕組みです。Perlの基本文法を覚えたらいろいろなモジュールを使ってみましょう。モジュールを組み合わせると複雑な問題を…

Net::FTP - FTPを使ったファイル転送

Perl › モジュール › here Net::FTPを使用すると、FTPでファイルのダウンロード・アップロードができます。 IT関連の仕事ではサーバにアクセスしてファイルをダウンロード・アップロードすることが頻繁にあります。FFFTPなどのFTPのクライアントのソフトウェ…

Time::Piece - 日付・時刻を扱う新しい方法

Perl › モジュール › here Perlの5.10からTime::Pieceと呼ばれる時刻を便利に扱うためのモジュールが標準モジュールに加わりました。Perlの5.10以上を使用している場合はTime::Pieceモジュールを日付と時刻を扱いたい場合に利用すると便利です。従来のPerlで…

よく使用する関数・標準モジュール一覧

Perl › よく使う関数・モジュール よく使用する関数・標準モジュールの一覧です。これらの関数を覚えておけば、Perlをより便利なものにすることができます。詳細な解説は避け、簡単なサンプルを紹介しています。戻り値のあるものについては$retという記号で…

DateTime - 日付・時刻を汎用的に扱う

Perl › モジュール › here DateTimeを使用すると、日付と時刻を汎用的に扱うできます。これまでは、なんとか標準モジュールで日付を扱おうと記事を書いてきましたが、本当はあまりよくない方法です。日付と時刻というのは例外が多く自分でスクリプトを書くと…

モジュール

Perlのモジュールについての解説です。 パッケージとシンボルテーブル サブルーチンの定義とスコープ シンボルテーブル 型グロブとシンボルテーブル モジュールとディレクトリ 実行プログラムのディレクトリのひとつ上のディレクトリのモジュールを使う モジ…

Module::Starter - 配布形式のモジュールを作成

Perl › モジュール › here モジュールを配布したい場合には、配布形式を自動で作成してくれるモジュールがあると便利です。たとえばCPANに作成したモジュールをアップロードしたい場合は、定められた配布形式にしなければなりません。その雛形を作成してくれ…

文字列の末尾にマッチ - \z

Perl › 正規表現 › here 正規表現で文字列の末尾を表現するには\zを使用します。「$」と異なるのは、mオプションを使用した場合でも意味が変わらないということです。mオプションを使用した場合は「$」は文字列の末尾ではなく、行の末尾を表現するようになり…

文字列の先頭にマッチさせる - \A

Perl › 正規表現 › here 正規表現で文字列の先頭を表現するには\Aを使用します。 # 文字列の先頭 \A 「^」と異なるのは、mオプションを使用した場合でも意味が変わらないということです。mオプションを使用した場合は「^」は文字列の先頭ではなく、行の先頭…

looks_like_number関数 - 数値であるかどうかの判定を行う

Perl › 関数 › here 数値であるかどうかの判定を行うにはScalar::Utilモジュールのlooks_like_number関数を使用します。 use Scalar::Util 'looks_like_number'; my $ret = looks_like_number $num; Perlでは数値か文字列かということは、どのように見えるか…

floor関数 - 小数部を切り下げる

Perl › 関数 › here 小数点を切り下げるには、POSIXモジュールのfloor関数を使用します。 use POSIX 'floor'; my $ret = floor $num; サンプル 小数点を切り下げるサンプルです。 use strict; use warnings; use POSIX 'floor'; my $num1 = 1.5; my $num2 = …

wait関数 - 子プロセスの終了を待つ

Perl › 関数 › here forkで分岐させた場合は親プロセスと子プロセスはどちらが先に終了するかはわかりません。今回は親プロセスが子プロセスの終了を待つ方法を解説します。 1. waitで子プロセスの終了を待つ 子プロセスの終了を待つにはwait関数を使用しま…

fork関数 - プロセスを分岐する

Perl › 関数 › here fork関数を使用するとプロセスをふたつに分岐することができます。分岐したひとつのプロセスは親プロセス、もうひとつのプロセスは子プロセスになります。 fork関数 fork関数は引数をとりません。戻り値は分岐したプロセスが親プロセスの…

ソケットによる通信を行う

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

環境に応じたオブジェクトを作成する

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

継承を使ったポリモーフィズム

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

baseモジュールを使ってクラスを継承する

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

継承の仕組み

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

クラスを継承する

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …

継承とは

.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …