タグ

ブックマーク / perlcodesample.hatenadiary.jp (8)

  • CPAN - CPANからモジュールインストール - Perl入門ゼミ

    Perl › モジュール › here CPANモジュールを使用すればCPANからモジュールインストールすることができます。CPANは無料で利用できるモジュールがたくさん集められたサイトです。CPANモジュールはコマンドラインから利用することが想定されており、cpanコマンドから各種機能を利用することができます。 コマンドラインでcpanコマンドを実行するとモジュールをインストールすることができます。 # モジュールのインストール cpan モジュール名 またcpanシェルと呼ばれる対話的にインストールを行う機能もあります。cpanコマンドに引数を指定しなければcpanシェルが起動します。(ActivePerlYAMLエラーがでる場合がありますが対処ほうはこちらにあります。) # cpanシェルの起動 cpan # モジュールのインストール(cpanシェル) install モジュール名

    CPAN - CPANからモジュールインストール - Perl入門ゼミ
  • wantarray関数 - スカラかリストをコンテキストに応じて返却 - Perl入門ゼミ

    Perl › 関数 › here Perlではコンテキストという概念があるので、スカラあるいはリストをコンテキストに応じて返却することができます。 sub func_name{ # 処理 ... return wantarray ? リスト : スカラ; } wantarrayを使えば、リストコンテキストの場合とスカラコンテキストの場合を区別して、戻り値を返却することができます。 wantarrayが使われている標準関数にはlocaltime関数があります。 wantarray関数は使わないほうがよい wantarray関数は、非常に発見しにくバグを生み出しだしがちなので、使用することはお勧めしません。たとえば、スカラが返ってくると思って、関数の引数に指定したら、リストが返っていたということが、起こりうるからです。 # スカラが返ってくると思っていたが、実際はリストが返ってきてしまう fu

    wantarray関数 - スカラかリストをコンテキストに応じて返却 - Perl入門ゼミ
    acotie
    acotie 2010/09/30
  • さくらインターネットサーバでのCPAN導入を完全に手順化して見た - Perl入門ゼミ

    Perl › 環境構築 (この記事の内容は古くなっています、現在はcpanmを使ってモジュールをローカルにインストールするのが簡単でしょう。cpanmによるローカル環境構築を見てください。) otsuneさんのところでさくらインターネットのレンタルサーバでCPANを使用する方法が紹介されているのですが、一部手作業が発生するので、すべてコピペで実行できるように手順化してみました。 さくらインターネットサーバcpan導入手順 # ライブラリのためのディレクトリの作成 mkdir -p ~/local # CPANの設定ファイルを作成 echo no | cpan # cpanコマンドの設定ファイルMyConfig.pmの書き換え # ( __END__の行まで一気にコピーして実行してください。とまった場合はEnter ) perl - ~/.cpan/CPAN/MyConfig.pm > ~/

    さくらインターネットサーバでのCPAN導入を完全に手順化して見た - Perl入門ゼミ
  • unlink関数 - ファイルを削除する - Perl入門ゼミ

    Perl › 関数 › here unlink関数を使用すると、ファイルを削除することができます。戻り値には、削除したファイルの個数が返ってきます。 unlink $file; サンプル ファイルを削除するサンプルです。 use strict; use warnings; use Fcntl; # ファイルを削除する。 # 準備のためにファイル作成。 my $file = "sample_20080520_$$.txt"; sysopen(my $fh, $file, O_CREAT | O_WRONLY | O_EXCL) or die "$file を作成することができません。: $!"; close( $fh ); print "準備: '$file'が作成されました。\n\n"; print "1: ファイルを削除する。\n"; if (unlink $file) { print

    unlink関数 - ファイルを削除する - Perl入門ゼミ
  • ファイル名から拡張子を取り出す - Perl入門ゼミ

    Perl › ファイル操作 › here ファイル名から、拡張子を取り出すにはFile::Basenameモジュールのfileparseの第二引数で拡張子を指定します。戻り値の三つ目で、拡張子が得られます。 use File::Basename; my ($base_name, $dir, $suffix) = fileparse($file_txt, '.txt'); File::Basename モジュールの fileparse 関数の第2引数に、拡張子名を指定することで、拡張子を取り出すことができます。 正規表現を使って、拡張子のパターンを指定することもできます。 use File::Basename; my $regex_suffix = qr/\.[^\.]+$/; my $suffix_txt = ( fileparse( $file_txt, $regex_suffix )

    ファイル名から拡張子を取り出す - Perl入門ゼミ
  • 複数階層のディレクトリを作成する - Perl入門ゼミ

    Perl › ファイル操作 › here 複数階層のディレクトリを作成するにはFile::Pathモジュールのmkpath関数を使用します。 use File::Path 'mkpath'; mkpath $dir_multi_level; 複数階層のディレクトリを作成するには、File::Path モジュールのmkpath関数を使います。 サンプル 複数階層のディレクトリを作成するサンプルです。 use strict; use warnings; use File::Path 'mkpath'; # 複数階層のディレクトリを作成する。 my $dir_multi_level = "dir_20080524_$$/dir1"; print "1: 複数階層のディレクトリを作成する。\n"; mkpath($dir_multi_level); Perl › ファイル操作 › here

    複数階層のディレクトリを作成する - Perl入門ゼミ
  • ヒアドキュメント - 複数行の文字列を簡単に作成 - Perl入門ゼミ

    Perl › 演算子 › here ヒアドキュメントを用いれば複数の文字列をわかりやすく記述することができます。 my $text = <<'EOS'; aaaa iiii uuuu EOS ヒアドキュメントを用いれば、<<'EOS' と EOS にはさまれた行にある文字列を、改行を維持して文字列に代入することができます。 セミコロンの位置に注意しましょう。最後のEOSのあとには、セミコロンはなくて、 最初の行の最後にセミコロンがあります。 EOSという部分は任意の文字列で構いません。このサンプルでは「End Of String」という意味でEOSを使っています。 ヒアドキュメントの中で変数展開する <<'EOS' を <<"EOS" に変更すれば、ヒアドキュメントの中で、変数展開が可能になります。 my $message = 'Hello'; # 変数展開可能なヒアドキュメント my $

    ヒアドキュメント - 複数行の文字列を簡単に作成 - Perl入門ゼミ
  • よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門

    Perl › サブルーチン › here サブルーチン作成に関するわたしの考えを殴り書きしました。 見出し 引数と戻り値について理解する。 小さなサブルーチンを作成する。 サブルーチンに柔軟性を持たせる。 呼び出しの階層を浅く保つ。 機能を実現するサブルーチンを作成する。 ユーザーを意識する。 将来を楽にすることを考える。 完全な抽象化は求めない。 1. 引数と戻り値について理解する サブルーチンを理解するためには、引数の受け取り方と、戻り値の返却のし方を覚えれば十分です。なぜなら、引数を受け取ってから、戻り値を返却をするまでは、今まで学習したプログラミングとなんら変わることがないからです。引数と戻り値の扱いを、覚えたら、すぐに実践に移りましょう。 サブルーチン作成で、難しいのは、以下の4点です。 何をサブルーチンにするか どのような名前をつけるか 引数を何にするか 戻り値を何にするか 正

    よいサブルーチンを作成するための心がけ。★★★ - サンプルコードによる Perl 入門
  • 1