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

  • Perlが30倍速くなるかもしれないSPVMの開発版をリリースしました。 - Perl入門ゼミ

    Perlが30倍速くなるかもしれないSPVMの開発版をリリースしました。 SPVM(CPAN) かもしれないと書いたのはベンチマークをまだとってないからで、理論的にはJava VMの速度まで、近づけることができるんじゃないかなと思うから。 開発版なので、まだ機能が足りないのだけれど、CPANにリリースして、CentOS, FreeBSD, Windowsで動かすところまでやったので、ここで公開します。Macを持っていないので、Macの方は、CPANからインストールできるか確認していただけるとありがたいです。 SPVMはPerlに似た新しいプログラミング言語で、バーチャルマシン上で動き、関数をPerlから簡単に呼び出すことができる。 完全な静的型を持ち、Javaと同じデータ型、byte, short, int, long, float, doubleを持つ モジュールを書いてすぐに実行できる

    Perlが30倍速くなるかもしれないSPVMの開発版をリリースしました。 - Perl入門ゼミ
  • Perlの特徴 - バランスのとれた良い言語 - Perl入門ゼミ

    PerlPerlの特徴 Perlって、どんな特徴を持った言語かうまく説明できますか。言語について議論するとき、表面的な見た目や評判だけで評価するのではなく、きちんと考えを持った技術者として評価する、そういうときに語ることができるPerlという言語の特徴を書いておきます。 テキスト処理に最適 Perlはテキスト処理に最適なスクリプト言語です。文字列と数値を自動的に変換してくれますし、文字列に関する関数も使いやすく、正規表現が言語に組み込まれています。 テキスト処理は、非常に利用頻度が高い処理です。Perlはテキスト処理に最適化されて設計されています。 ログの整形や集計といった作業は、システム管理をしていると頻繁に発生すると思います。そんなときにはPerlが便利です。 記述が容易 Perlはスクリプト言語のひとつです。Perlの型は動的であって、関数呼び出しも動的です。スクリプト言語は、

    Perlの特徴 - バランスのとれた良い言語 - Perl入門ゼミ
  • PDL - Perlで統計・解析 - Perl入門ゼミ

    Perl › モジュール › here ビッグデータ、データサイエンス、統計解析という分野が、最近ではトレンドになってきている感じがします。PerlのPDLというモジュールを使って、統計解析を行う手法を解説します。 インストール PDLをインストールしてみましょう。 PDLのインストール 基礎 PDLの基礎を学びましょう。 PDLの基礎を学ぼう 統計 PDLにおける統計関数を紹介します。 基的な統計関数 多次元データ PDLで「多次元データ」を表現してみましょう。 多次元データを表現する グラフ PDLで「グラフ」を描画してみましょう。 簡単なグラフの作成 行列 PDLで「行列」を扱う方法を解説します。 PDLにおける「行列」の扱い 複素数 PDLで複素数を利用してみましょう。 複素数を利用する

    PDL - Perlで統計・解析 - Perl入門ゼミ
  • Perl 5.20がリリース - ipv6のサポート、サブルーチンの新しい文法、新しいスライス記法、Unicode 6.3への対応など - Perl入門ゼミ

    Perl › バージョン情報 › here Perl 5.20がリリースされました。今回は結構盛りだくさん。ピックアップして紹介します。 Perl 5.20で追加・変更された機能 IO::Socket::IPがコアモジュールに Perl 5.20ではIO::Socket::IPがコアモジュールになりました。Perlではソケットを使う場合にIO::Socket::INETを使っていましたが、ipv6のサポートを含めて、同一のインターフェースで利用できるモジュールのようです。 CGI,Module::Buildが廃止予定になります 長年コアモジュールだったCGIモジュールが、次期リリースでコアからはずれます。。また、ピュアPerlでmake相当のことができるModule::Buildが次期リリースでコアからはずれます。 次期リリースのPerl 5.22からは、CGIモジュールは必要であればcp

    Perl 5.20がリリース - ipv6のサポート、サブルーチンの新しい文法、新しいスライス記法、Unicode 6.3への対応など - Perl入門ゼミ
  • データベースとプログラムの連携 | Mojolicious入門 - Perl入門ゼミ

    Perl › Mojolicious データベースの基礎を学習した後は、プログラムからデータベースにアクセスする方法を学びましょう。 DBD::SQLiteのインストール まず最初にSQLiteを使えるようにする必要があります。Windowsの場合はcpanコマンドを使って、Linux, Mac OS Xの場合は、cpanmコマンドを使ってDBD::SQLiteモジュールをインストールします。 # Windows cpan DBD::SQLite # Linux, Mac OS X cpanm DBD::SQLite DBIx::Connectorのインストール Perlにはデータベースを操作する場合にDBIを使うようにと解説されていることが多いですが、Webサイトを作成する場合は、DBIをそのまま使ってはいけません。Webサイトを作成する場合は、プリフォークサーバーで番環境において配置

    データベースとプログラムの連携 | Mojolicious入門 - Perl入門ゼミ
  • Devel::NYTProf - 見やすいプロファイラ - Perl入門ゼミ

    Perl › モジュール › here Devel::NYTProfはプログラムの中のどの処理に時間がかかっているかを調べるツールです。このようなツールをでプロファイラといいます。解析結果をHTMLファイルに変換してくれるので、とても見やすいです。 プロファイルを作成するのは簡単です。次のコマンドを実行するとカレントディレクトリに「nytprof.out」というプロファイルを情報を出力したファイルが作成されます。 # プロファイル情報の作成 perl -d:NYTProf target.pl 「nytprof.out」をHTMLファイルに変換するにはnytprofhtmlコマンドを実行します。 # プロファイル情報をHTMLファイルに変換する nytprofhtml カレントディレクトリの「nytprof/」ディレクトリの中にHTMLファイルが作成されます。「nytprof/index.h

    Devel::NYTProf - 見やすいプロファイラ - Perl入門ゼミ
  • cpanmによるPerlのローカル環境構築 - Perl入門ゼミ

    Perl › モジュール › here cpanmを使ってローカル環境を構築する手順です。迷わない一直線の手順です。 cpanmのインストール 以下のコマンドを個人ユーザで実行してください。 # cpanmのインストール curl -L -O http://xrl.us/cpanm perl cpanm App::cpanminus cpanmを使うと簡単にローカル環境にCPANモジュールをインストールできるようになります。root権限がない場合はユーザのホームディレクトリ以下のperl5というディレクトリ以下にCPANモジュールがインストールされます。インストールには時間がかかるかもしれませんが、しばらく待ちます。 モジュールやコマンドを利用するための設定 インストールしたモジュールやコマンドを利用するには次の設定を「.bashrc」というbashの設定ファイルに追加する必要があります。

    cpanmによるPerlのローカル環境構築 - Perl入門ゼミ
  • JSON - JSONデータを解析 - Perl入門ゼミ

    Perl › モジュール › here JSONモジュールを使用すると、JSONデータを解析することができます。JSONはデータを記述するための言語で、配列やハッシュなどのデータ構造を表現することができます。JSONは単なる文字列ですので可搬性があります。他のプログラム言語とデータをやり取りした場合によく利用されます。 # モジュールの読み込みと関数のインポート use JSON qw/encode_json decode_json/; JSONをPerlのデータ構造に変換するにはdecode_json関数を使用します。 # JSONをPerlのデータ構造に変換する my $json_in = '[{"name" : "Ken", "age" : 19}, {"name" : "Ken", "age" : 25}]'; my $data = decode_json($json_in); こ

    JSON - JSONデータを解析 - Perl入門ゼミ
    Mint0A0yama
    Mint0A0yama 2014/03/19
    “do { local $/; <$fh> };”
  • Perlデバッガの手引き - Perl入門ゼミ

    Perl › デバッガ Perlのとても便利な道具のひとつにデバッガがあります。デバッガを使うとスクリプトを一行づつたどって変数の中身を見たり、ブレークポイントを設定してその位置で停止したりすることができます。 デバッガは当に便利なのですがPerlをやっていても意外と知らない人がいます。ひとたびデバッガを覚えてしまうと試験をするときに手放せなくります。Perlを覚えたての時期からどんどん使っていって欲しいツールです。そんなデバッガのコマンドとテクニックをまとめてみました。 デバッグ用のスクリプト デバッグ用の簡単なスクリプトを準備しました。debug.plという名前で保存してください。このスクリプトを使用してデバッガの解説をします。 my $message = 'Hello'; my @nums = (1, 2, 3); my %scores = (math => 80, english

    Perlデバッガの手引き - Perl入門ゼミ
  • Getopt::Long - コマンドラインオプションを処理する - Perl入門ゼミ

    Perl › モジュール › here Getopt::Longを使用するとコマンドライン引数のオプションを処理することができます。 # モジュールの読み込みと関数のインポート use Getopt::Long 'GetOptions'; コマンドライン引数で次のようなオプションを指定する場合を考えてみましょう。 # コマンドライン引数でオプションを指定。 perl script.pl --enable_cache --max_clients=5 --type=single config.init GetOptions関数を使用すればこのようなコマンドラインオプションを簡単に処理することができます。 # GetOptionsによるコマンドライン引数のオプションの処理 # デフォルト値の設定 my $enable_cache; my $max_clients = 5; my $type =

    Getopt::Long - コマンドラインオプションを処理する - Perl入門ゼミ
  • Encode 日本語などのマルチバイト文字列を適切に処理する - Perl入門〜サンプルコードによるPerl入門〜

    Perl › モジュール › here 日語などのマルチバイト文字をPerlで適切に扱うにはEncodeモジュールを使用します。次の3つのことを覚えておけば多くの場合適切に日語を扱うことができます。 外部から入力された文字列はEncodeモジュールのdecode関数でデコードする 外部へ出力する文字列はEncodeモジュールのencode関数でエンコードする ソースコードはUTF-8で保存しutf8プラグマを有効にする この解説での用語 この解説では外部から入力された文字列のことを「バイト文字列」と呼ぶことにします。Perlの内部表現に変換された文字列を「内部文字列」と呼ぶことにします。また「バイト文字列」が特定の文字コードで記述されている場合は「UTF-8バイト文字列」「Shift_JISバイト文字列」などと呼ぶことにします。 プログラミングで日語を扱う場合にその文字列がバイト文字

    Encode 日本語などのマルチバイト文字列を適切に処理する - Perl入門〜サンプルコードによるPerl入門〜
  • 1