サポートサイト
出版社による関連ページが公開されています。
- 基礎Perl (インプレスジャパン)
内容紹介
Perlの基本文法からオブジェクト指向構文、メジャーなモジュールの用法などを理解し、最終的に簡単なアプリケーションを構築できる力を身につけられます。ベストセラー『基礎PHP』の監修者が自ら贈る、単なる学習から一歩進んだ「実用・実践」に重きを置いた新しいPerl入門書。
書誌情報
- 著者: 山田祥寛
- 発行日: 2013-03-27
- 最終更新日: 2013-03-27
- バージョン: 1.0.0
- ページ数: 456ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: インプレス
対象読者
これからプログラミングを学ぶ人、すでにPerlをほかの書籍で学習したことがある方
著者について
山田祥寛
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」の代表でもある。
主な著書に「独習シリーズ(サーバサイドJava・PHP・ASP.NET)」「Zend Framework徹底入門」「PHPライブラリコレクション」「XMLデータベース入門」「PEAR入門」「Smarty入門」「XML辞典」「10日でおぼえる入門教室シリーズ(SQL Server・ASP.NET・Jakarta・JSP/サーブレット・PHP5・XML)」(以上、翔泳社)、「Pocket詳解シリーズ(ASP.NET・PHP・JSP&サーブレット・Perl/CGI)」「今日からつかえるサンプル集シリーズ(JSP&サーブレット・PHP5・ASP・XML)」(以上、秀和システム)、「改訂新版基礎PHP」「基礎XML」(以上、インプレス)、「JavaScriptマスターブック」「ASP.NET AJAXプログラミング」「MySQL逆引きクイックリファレンス」(毎日コミュニケーションズ)、「書き込み式SQLのドリル」(ソシム)など。また、@IT(.NET、Windows)、ITPro、マイコミジャーナル、CodeZineなどのサイトにて連載、「DB Magazine」(翔泳社)、「日経ソフトウェア」(日経BP社)などでも記事を執筆中。最近では、IT関連技術の取材、講演まで広くを手がける毎日である。最近の活動内容は、著者サイト(http://www.wings.msn.to/)にて。
目次
Chapter1 イントロダクション
- 1.1 Perlの概観
- Perlってどんな言語?
- キーワードを整理しよう
- 1.2 Perl利用のための環境設定
- Windows環境の場合
- Linux環境の場合
- サンプルの利用方法(Windows/Linux共通)
- 練習問題
Chapter2 Perlの基本を学ぼう
- 2.1 Perlの基本構文
- 2.2 Perlスクリプトとperlコマンド
- 文を区切るのはセミコロン(;)
- 大文字/小文字を区別する
- printは関数の一種
- コメントはプログラマーのためのメモ情報
- スクリプトを実行するperlコマンド
- 2.3 変数
- 変数の宣言
- 変数の命名規則
- 定数
- 2.4 リテラル
- 数値リテラル
- 文字列リテラル
- ダブルクォート文字列リテラルの特徴
- ヒアドキュメント
- 2.5 配列とハッシュ
- 配列の基本
- 配列から複数の要素を取り出す……スライス構文
- リストのもうひとつの書き方
- ハッシュの基本
- ハッシュをスライスする
- 練習問題
Chapter3 演算子と制御構文を理解しよう
- 3.1 演算子
- 算術演算子
- 代入演算子
- 比較演算子
- 論理演算子
- 文字列演算子
- 条件演算子(?...:)
- ビット演算子
- 演算子の優先順位と結合則
- 3.2 制御構文
- 条件分岐構文
- 繰り返し処理
- ループの制御
- 裸のブロック
- 3.3 構文チェックは厳しく、綺麗なプログラムを……プラグマ構文
- コンパイル時のチェックを厳密化する……use strictプラグマ
- 推奨されないコードを警告する……use warningsプラグマ
- 練習問題
Chapter4 理解を深める3つのキーワード
- 4.1 コンテキスト
- コンテキストの具体的な例
- リストコンテキストとリスト
- コンテキストはさまざまな式に影響する
- 強制的にコンテキストを変更する……scalar命令
- スカラーコンテキストの分類
- 4.2 リファレンス
- リファレンスの基礎
- リファレンスを取得する
- リファレンス経由で値にアクセスする
- 配列/ハッシュのリファレンスを取得する
- 多次元配列/ハッシュを生成する
- 無名配列/無名ハッシュ
- 4.3 正規表現
- 正規表現の基本
- 正規表現によるマッチング
- 正規表現によるマッチング(デフォルト変数)
- サブマッチ文字列を取得する
- 正規表現オプションによる挙動の変化
- 正規表現を使って文字列を置き換える
- 文字リストを使って文字の変換を行う
- 練習問題
Chapter5 組み込み関数を使いこなそう
- 5.1 関数とは?
- 組み込み関数
- 5.2 文字列関数
- 文字列の長さを取得する……length関数
- 文字列末尾の文字を削除する……chop/chomp関数
- 部分文字列を取得/置換する……substr関数
- 正規表現で文字列の分割を行う……split関数
- 特定の文字位置を検索する……index/rindex関数
- 文字列を整形する……sprintf関数
- 文字列を大文字⇔小文字で変換する……lc/uc/lcfirst/ucfirst関数
- 5.3 配列関数
- 配列内の要素を末尾に追加/から削除する……push/pop関数
- 配列内の要素を先頭から追加/削除する……unshift/shift関数
- スタックとキュー
- 配列の複数要素を削除/置換する……splice関数
- 配列の内容を連結する……join関数
- 配列の内容を並べ替える……reverse/sort関数
- 配列内の要素を検索する……grep関数
- 配列の各要素に対して処理を行う……map関数
- 5.4 ハッシュ関数
- 要素の存在をチェックする……exists関数
- ハッシュの内容を順に処理する……each関数
- ハッシュ内の要素をキー/値で並べ替える……sort関数
- ハッシュの指定されたキーを削除する……delete関数
- 5.5 ディレクトリおよびファイル関数
- フォルダ配下のファイル情報を一覧表示する……opendir/readdir/closedir関数
- ファイル情報を取得する(2)……stat関数
- テキストファイルの読み込み……open/close関数
- テキストファイルの書き込み……print/flock関数
- 予約されたファイルハンドル……STDIN/STDOUT/STDERR/DATA
- 5.6 その他の関数
- 数学関数
- 日付/時刻関数
- 未定義値の設定/確認を行う……undef/defined関数
- 練習問題
Chapter6 サブルーチンで共通機能をまとめよう
- 6.1 サブルーチンとは?
- サブルーチンがなぜ必要?
- サブルーチンの基本
- 特殊変数@_を展開する必要性
- 6.2 サブルーチンのさまざまな使い方
- サブルーチンに配列やハッシュを渡す
- サブルーチンから配列/ハッシュを返す
- サブルーチンからサブルーチンを呼び出す
- 6.3 プロトタイプ
- プロトタイプの基本
- 省略可能な引数を表す
- プロトタイプに配列/ハッシュを引き渡す方法
- 6.4 サブルーチンのリファレンス
- コードリファレンスの基本
- サブルーチンの引数にサブルーチンを指定する
- 無名サブルーチン
- 6.5 変数の有効範囲(スコープ)……my/local命令
- my宣言された変数のスコープ
- my宣言を省略した場合の挙動
- スコープはブロックで決まる
- レキシカルスコープとダイナミックスコープ
- 6.6 サブルーチンをより活用するためのテーマ
- 名前付き引数でコードを読みやすくする
- コンテキストに応じて戻り値を切り替える
- 予約サブルーチン ――BEGIN、CHECK、INIT、END
- 練習問題
Chapter7 モジュールとパッケージ
- 7.1 モジュール
- モジュールの基本
- モジュールの呼び出し
- モジュールの呼び出し……require命令
- モジュールの読み込み先……特殊変数@INC
- モジュールで変数を定義する
- 7.2 パッケージ
- パッケージを宣言する
- パッケージに属するモジュールを利用する
- パッケージの有効範囲
- 練習問題
Chapter8 標準/CPANモジュールを活用しよう
- 8.1 モジュールを活用しよう
- 本書で扱うモジュール
- CPANモジュールのインストール
- 8.2 オブジェクト指向プログラミングの基本
- クラスとサブルーチン/変数
- クラスとオブジェクトの関係
- 静的プロパティ/静的メソッド
- 間接オブジェクト構文
- 8.3 日付/時刻の演算/整形/比較をしたい……DateTimeモジュール
- DateTimeオブジェクトを生成する
- 日付/時刻情報を設定する
- 一部の日付/時刻要素を初期化する
- 日付/時刻情報を取得する
- 日付/時刻情報を整形する
- 日付/時刻を加算/減算する
- 日付/時刻を比較する
- 8.4 スクリプトから電子メールを自動送信したい……Net::SMTPモジュール
- テキストメールを送信する
- HTMLメールを送信する
- 添付ファイル付きのメールを送信する
- 8.5 パッケージ内の変数/サブルーチンをエクスポートする……Exporterモジュール
- Exporterモジュールの基本
- エクスポートの是非を制御する
- エクスポートを禁止する
- 複数の変数/サブルーチンをまとめてエクスポートする
- 8.6 XML形式のデータを読み込む……XML::Simpleモジュール
- XML::Simpleパッケージの基礎
- 構造化データのダンプ出力……Data::Dumperモジュール
- XML::Simpleモジュールのオプション
- 「.ini」ファイルを読み込む……Config::IniFilesモジュール
- 練習問題
Chapter9 データベースとPerlの連携
- 9.1 データベースの基本
- データベースとは?
- データベースの種類
- リレーショナルデータベースの種類
- 9.2 MySQLを使ってみよう
- Windows環境におけるインストール手順
- データベース操作の基本
- SQLの基本
- 9.3 データベース抽象化レイヤ
- DBI/DBD
- 9.4 データベースに接続してみよう
- データベース接続の基礎
- データベース接続のコードを外部化する
- 9.5 データベースにレコードを登録しよう
- 入力値に基づいてデータベースに登録する
- プレースホルダーはなぜ必要か
- 9.6 結果セットを取得する
- さまざまなフェッチの方法
- 9.7 トランザクション処理
- トランザクションとは?
- トランザクション機能を利用する
- 練習問題
Chapter10 オブジェクト指向構文
- 10.1 簡単なクラスの定義
- 10.2 コンストラクタとオブジェクト
- コンストラクタを定義する
- プロパティにアクセスする
- こんなコンストラクタでも大丈夫
- インスタンスメソッドを定義する
- アクセサメソッドを定義する
- 10.3 メソッドの継承
- 継承の基本
- メソッドのオーバーライド
- スーパークラスのメソッドをサブクラスで利用する
- スーパークラスのコンストラクタをサブクラスで利用する
- クラスプロパティは継承されない
- 10.4 クラス共通で使える特殊メソッド/プロパティ
- AUTOLOADメソッド
- デストラクタ…… DESTROYメソッド
- モジュールのバージョンを管理する……VERSIONプロパティ
- メソッドが使えるかどうかを確認する…… canメソッド
- オブジェクトが指定クラスのインスタンスかどうかを検査する……isaメソッド
- 10.5 演算子のオーバーロード
- オーバーロードの基本
- 無名サブルーチンを使った記法
- 演算の結果をオブジェクトとして返す
- オブジェクトを減算する
- Productオブジェクトの文字列表現
- 練習問題