試験公開中

このエントリーをはてなブックマークに追加

基礎Perl

インプレス

2,464円 (2,240円+税)

ベストセラー『基礎PHP』の監修者が自ら贈る、単なる学習から一歩進んだ「実用・実践」に重きを置いた新しいPerl入門書。

サポートサイト

出版社による関連ページが公開されています。

内容紹介

Perlの基本文法からオブジェクト指向構文、メジャーなモジュールの用法などを理解し、最終的に簡単なアプリケーションを構築できる力を身につけられます。ベストセラー『基礎PHP』の監修者が自ら贈る、単なる学習から一歩進んだ「実用・実践」に重きを置いた新しいPerl入門書。

書誌情報

  • 著者: 山田祥寛
  • 発行日:
  • 最終更新日: 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オブジェクトの文字列表現
  • 練習問題
付録A 練習問題の解答