タグ

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

  • Perlで人工知能・機械学習を行うAI::MXNetの出来が凄そうだ - Perl入門ゼミ

    最近知った。Perl人工知能プログラミングを行うAI::MXNetの出来が凄そうだ。ディープラーニングという手法を使った機械学習を行うライブラリです。 これは公式のAmazonクラウドのMZNetでも、Perlの公式ライブラリとして受け入れられたそうだ。 インターフェースはPythonのMXNetライブラリとほぼ一緒に仕上がっているみたい。C++で書かれたMXNetPerlバインディングになっている。 Perl人工知能プログラミングを行うAI::MXNet(CPAN) MXNetのかなり多くの機能をPerlから利用できるようだ。Perlで人口知能プログラミングに興味がある方は、ぜひチャレンジしてみて! ライブラリがあるとPerlでも、人工知能プログラミングができるんだね。すごいね! GPUも使えるみたいよ! ## Convolutional NN for recognizing ha

    Perlで人工知能・機械学習を行うAI::MXNetの出来が凄そうだ - Perl入門ゼミ
  • Google App EngineでついにPerlが利用可能に - Perl入門ゼミ

    Google App EngineでPerlが利用可能になったようです。 Your favorite languages, now on Google App Engine Your favorite languages, libraries and tools (中略) Want to run Perl? Love Elixir? Need to migrate your Parse app? You can do all this and more in App Engine. (太字訳) あなたの好きな言語、ライブラリ、ツールをGoogle App Engineで動かせます。 Perlを動かしたいですか? これらすべてをApp Engineで動かすことができます。 興味のある人は、どんなものか一度チャレンジしてみよう!

    Google App EngineでついにPerlが利用可能に - Perl入門ゼミ
  • 日本のCPANミラーサイト - Perl入門ゼミ

    Perl › CPAN CPANの日のミラーサイトを紹介しています。CPANはPerlのモジュールが配布されているサイトですべてのモジュールを無料で利用することができます。(CPAN) ftp://ftp.u-aizu.ac.jp/pub/CPAN ftp://ftp.kddilabs.jp/CPAN/ http://ftp.nara.wide.ad.jp/pub/CPAN/ ftp://ftp.nara.wide.ad.jp/pub/CPAN/ http://ftp.jaist.ac.jp/pub/CPAN/ ftp://ftp.jaist.ac.jp/pub/CPAN/ ftp://ftp.dti.ad.jp/pub/lang/CPAN/ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ http://ftp.riken.jp/lang/CPAN/ f

    日本のCPANミラーサイト - Perl入門ゼミ
    kizashi1122
    kizashi1122 2010/12/20
    Perl CPAN
  • Perlの正規表現をマスターしよう - Perl入門ゼミ

    Perl › 正規表現 Perlの正規表現の解説です。この記事を読めば、日常で利用する正規表現のすべてを短時間でマスターすることができます。正規表現を使えば、文字列の集合を表現することができ、正規表現にマッチする文字列を検索したり、置換したりすることができます。 正規表現を使って文字列の集合を表現できます。たとえば「a」「aa」「aaa」という三つの文字列を正規表現で表現してみましょう。連続する文字の個数を表現する正規表現「{}」を使って次のように書くことができます。 a{1,3} 「a」「aa」「aaa」という文字列の集合をひとつの正規表現「a{1,3}」で表しています。{}は量指定子と呼ばれるもので、連続した文字を表現することができます。 a aa -> a{1,3} aaa 正規表現の例をもう一つみてみましょう。「p1」「q1」「r1」という文字列の集合をひとつの正規表現「[pqr]

    Perlの正規表現をマスターしよう - Perl入門ゼミ
  • ファイルテスト演算子 - Perl入門ゼミ

    Perl › 演算子 › here ファイルテスト演算子を使ってファイルのさまざまな情報を調べることができます。 ファイルテスト演算子 機能 -e ファイルが存在するかどうかの確認 -f 通常ファイルが存在するかどうかの確認 -d ディレクトリが存在するかどうかの確認 -s ファイルのサイズの取得 -M 最終更新から経過した日数の取得 -A 最終アクセスから経過した日数の取得 -e ファイルが存在するかどうかの確認 「-e」でファイルが存在するかどうかを確認することができます。 -e $file ファイルが存在すると真値を、存在しないと偽値を返します。ディレクトリやシンボリックリンクなどもファイルとして扱われます。Unixではディレクトリも特別なファイルとみなしファイルという概念でとらえるからです。 用語の解説のページにリンクを張っておきました。 -f 通常ファイルが存在するかどうかの確認

    ファイルテスト演算子 - Perl入門ゼミ
  • Perl XS入門 - XSの基礎を学ぼう - サンプルコードPerl入門

    Perl › here XSを使ったC/C++のバインディングについて解説します。まず最初に、XSモジュールを作成する方法について解説します。 1. XSモジュールの作成 では実際にXSモジュールを作成してみましょう。XSモジュール作成コマンド、Makefile.PL、makeについて丁寧に解説しています。 XSモジュールを作成する 2. perlapi XSからPerlのデータを操作する方法にについて解説します。PerlはC言語で実装されていますが、Perlの機能をC言語から呼び出すためのAPIがたくさん用意されています。 perlapi - XSにおけるデータ操作のためのAPI 3. Makefile.PL関連 Makefileを生成するために、Perlでは、Makefile.PLというファイルを作って、ExtUtil::MakeMakerというモジュールを使用します。このExtUti

    Perl XS入門 - XSの基礎を学ぼう - サンプルコードPerl入門
  • 公式ドキュメント一覧(日本語訳つき) - Perl入門ゼミ

    Perl › 公式ドキュメント Perlの公式ドキュメントの一覧です。日語訳が存在するものはリンクしています。 概観 初心者のためのPerlの入門 (perlintro) 入門 Perlリファレンスの短い入門 (perlreftut) Perlデータ構造入門 (perldsc) Perlデータ構造: 配列の配列 (perllol) Perl正規表現クイックスタート (perlrequick) Perl正規表現入門 (perlretut) 初心者のためのPerlオブジェクト指向入門 (perlboot) Perlオブジェクト指向入門 その1 (perltoot) Perlオブジェクト指向入門 その2 (perltooc) Perlオブジェクト指向 秘訣とサンプル (perlbot) Perlパフォーマンスと最適化のテクニック (perlperf) Perlスタイルガイド (perlstyl

    公式ドキュメント一覧(日本語訳つき) - Perl入門ゼミ
  • 豆知識 - 知っておくと役に立つ - Perl入門ゼミ

    Perl › 豆知識 知っておくと何かとPerlが使いやすくなったり、読みやすくなるかもしれないことをいろいろと追加していきます。 BEGIN BEGINはコンパイルのときに実行するということをあらわします。 BEGIN { # コンパイルのときに実行したい文 } require requireはuseと似ていますが実行時にモジュールを読み込むことと、importメソッドを自動的に実行しないところがことなります。 use File::Basename 'basename'; # 上と同じ意味 BEGIN { require File::Basename; File::Basename->import('basename'); } 動的にモジュールを読み込みたい場合はrequireを使用することがありますが、一般的な用途ではuseで統一するのがわかりやすいでしょう。 local localは

    豆知識 - 知っておくと役に立つ - Perl入門ゼミ
    kizashi1122
    kizashi1122 2010/08/18
    基本
  • 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入門ゼミ
  • MIME::Base64 - base64形式にエンコード・デコード - Perl入門ゼミ

    Perl › モジュール › here MIME::Base64モジュールを使用すると、データをbase64形式にエンコードすることができます。 # モジュールの読み込みと関数のインポート use MIME::Base64 qw/encode_base64 decode_base64/; base64形式にエンコードするにはencode_base64関数を使用します。 # base64形式にエンコード my $b64_data = encode_base64 $data; base64形式のデータをデコードするにはdecode_base64関数を使用します。 # base64形式のデータをデコード my $data = decode_base64 $b64_data; MIME::Base64モジュールに関するFAQ Q. base64形式とは簡単にいうとどのようなものですか。 A. 64

    MIME::Base64 - base64形式にエンコード・デコード - Perl入門ゼミ
  • File::Spec - OSに依存しないファイル名を作成 - Perl入門ゼミ

    Perl › モジュール › here File::Specモジュールを使用すると、ファイル名に対して移植性のある処理を行うことができます。たとえばOS固有のファイル名の区切り文字を使ってファイル名を作成したりすることができます。 # モジュールの読み込み use File::Spec; File::Specのメソッドはクラスメソッドとして実装されており次の形式で呼び出します。 # クラスメソッド呼び出し File::Spec->$method; メソッド catfile 個々のパーツからファイル名を作成するにはcatfileを使用します。$fileはWindowsの場合は「xxx\yyy\zzz」、Unixの場合は「xxx/yyy/zzz」になります。OS固有の区切り文字がファイル名の作成に使用されます。 # ファイル名の作成 my $file = File::Spec->catfile

    File::Spec - OSに依存しないファイル名を作成 - Perl入門ゼミ
    kizashi1122
    kizashi1122 2010/04/29
    ファイル
  • Perlの例外処理の仕組みを理解しよう - Perl入門ゼミ

    Perl › here Perlではエラーの通知に例外処理を使用することができます。例外処理はとても簡単です。例外を発生させる方法と例外をキャッチする方法を覚えればよいだけだからです。 例外を発生させる 例外を発生させるにはdie関数を使用します。dieが実行されるとプログラムはエラーステータスで終了します。dieには文字列を渡すことができます。 # 例外を発生させる die $message; 例外を発生させるサンプルを書いてみます。関数の中で値が正の整数ではなかった場合に例外を発生させるようにしています。プログラムはメッセージを表示して終了します。 # 値のチェック。正の整数ではないので例外が発生し、プログラムは終了する。 is_int('a'); sub is_int { my $num = shift; # 値が正の整数でない場合に例外を発生させる die "\"$num\" mu

    Perlの例外処理の仕組みを理解しよう - Perl入門ゼミ
    kizashi1122
    kizashi1122 2010/04/27
    例外
  • File::Path - 複数階層のディレクトリを作成・削除 - Perl入門ゼミ

    Perl › モジュール › here File::Pathモジュールを使用すると、複数階層のディレクトリを作成したり、削除したりすることができます。 # モジュールの読み込みと関数のインポート use File::Path qw/mkpath rmtree/; mkpathで複数階層のディレクトリの作成を行うことができます(※1)。戻り値は作成したディレクトリ名の一覧です。たとえば'xxx/yyy/zzz'というディレクトリを作成した場合は@createdは('xxx', 'xxx/yyy', 'xxx/yyy/zzz')になります。mkpathでエラー(※2)が発生した場合は例外が投げられます。 # 複数階層のディレクトリの作成 @created = mkpath $dir; 第3引数でディレクトリ作成時のパーミッションを指定することができます。デフォルトは0777です。(第2引数は作

    File::Path - 複数階層のディレクトリを作成・削除 - Perl入門ゼミ
  • File::Copy - ファイルの移動とコピー - Perl入門ゼミ

    Perl › モジュール › here File::Copyモジュールを使用すると、ファイルを移動したり、コピーしたりすることができます。 # モジュールの読み込みと関数のインポート use File::Copy qw/copy move/; copy関数でファイルをコピー、move関数でファイルを移動することができます。rename関数というファイルを移動する標準関数がありますが、ファイルシステムを隔てた移動に対応していません。ファイルを移動する場合はFile::Copyのmoveを使用するのがよいでしょう。またmoveはディレクトリを移動するときも利用することができます。 # ファイルのコピー copy($from, $to); # ファイルの移動 move($from, $to) ファイルをコピーするサンプルです。ファイルのコピーに失敗(※1)したときのためにエラー処理を行います。エ

    File::Copy - ファイルの移動とコピー - Perl入門ゼミ
    kizashi1122
    kizashi1122 2010/04/27
    コピー
  • 現代的なPerlの記述方法一覧 - Perl入門ゼミ

    Perl › here Perl5.8以降における標準的なPerlの書き方を解説します。 インターネットで検索するとPerl4のころの古い記述がたくさんあります。また書籍などの多くもPerl4の記法で書かれています。Perl4の記法は複雑になりやすく間違いを生みやすいのでこれからPerlを書く人はPerl5の現代的な記法で記述することを強くお勧めします。 strictプラグマとwarningsプラグマ (必須) strictプラグマとwarningsプラグマを有効にします。 use strict; use warnings; use strict;とuse warnings;の2行はスクリプトの最初に必ず記述してください。これらはPerlの文法チェックを厳しくするためのものです。面倒だという軽い気持ちでこれを記述しないと後々当に面倒なことになります。 use strict;とuse wa

    現代的なPerlの記述方法一覧 - Perl入門ゼミ
  • 1