タグ

ブックマーク / perl-users.jp (21)

  • 記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym

    こんにちは。[/articles/advent-calendar/2010/casual/3:title=casual track 3日目]でも書かせていただきました、sugyanです。記号プログラミングはPerlくらいしかわからない素人ですが頑張って書いてみようと思います。よろしくおねがいします。 今日はPerlで記号プログラミングをするための基礎知識を説明します。Acme::EyeDropsでも使われているテクニックです。 ■Step1. アルファベットの変換 記号だけでPerlプログラムを書きたい! というとき、最も邪魔なのがアルファベットですね。まずはこれらをどうにかして記号だけで表現しましょう。 Perlの文字列は2つの文字列の論理演算で表現することができます。例えば 'A' という文字はASCIIコード0x41ですね。これをASCIIコード0x60の '`' と0x21の '!

    記号だけのPerlプログラミングの基本原理 - Articles Advent Calendar 2010 Sym
    nabinno
    nabinno 2015/10/24
  • Windows で Perl をはじめよう! - Articles Advent Calendar 2010 Win32

    はじめまして、こんにちは。集まる人数がわかりきっているのに勝手に Win32 Track を始めて既に後悔の香りがぷんぷん漂っている xaicron です。 WindowsPerl を日常的に書いている人は、日に3人しかいないと言われています*1。 そんな状況を脱却したい。みんな WindowsPerl を使おう!だって、当は心のどこかで Windows が好きなはずだから!!! とはいえ、「WindowsPerl ってほんまに動くんかいな?」と思われるかも知れませんが、これが意外とちゃんと動きます。 流行りの Plack だって動くし、DBI も動くし、スクレイピングExcel 操作までお手の物です。 この Track では、Windows で 全く Perl を動かしたことがない人が、日常的に WindowsPerl を動かすに至るように洗脳しますので、

    Windows で Perl をはじめよう! - Articles Advent Calendar 2010 Win32
  • Cygwin Perlに関する小ネタ - Articles Advent Calendar 2010 Win32

    gfxと申します。 Strawberry PerlやActive Perlばかりが取り沙汰される今日この頃ですが、Windowsで使えるPerlはこれらだけではありません。そう、Cygwin Perlです。 Cygwinとは、Linuxライクな環境をWindowsに提供するシステムです。VMWareやVirtual BoxのようなCPUのエミュレーションではなく、単にPOSIX APIを提供することで実現しているため、Windowsのプロセスやファイルと直接やりとりできるのが特徴です。Perl体のビルドがStrawberry PerlやActive Perlと比べて圧倒的に簡単であるため、bleadperlを触ってみたいときなどはCygwin Perlが楽でしょう*1。 ただ欠点もあります。よく指摘されるのが、速度でしょうか。たとえば、Mouseのmake testを同じマシンのVMWa

    Cygwin Perlに関する小ネタ - Articles Advent Calendar 2010 Win32
  • ヒアドキュメントの中でPerlの式を書く

    初代新幹線「0系」最後のラストランの日に、新幹線N700系のぞみでイーモバイルしながらこの記事を書いているid:TAKESAKOです。 Perlのヒアドキュメントを使うと複数行にわたる文字列を一気に代入したりするときに楽なので、使っている人も多いと思います。 my $foo = "bar"; my $tmp = time(); # ←関数の実行結果 print<<EOF; <div class="${foo}1"> <h1>TIME: $tmp</h1> </div> EOF しかし、ヒアドキュメントの途中でサブルーチンの実行結果も一緒に埋め込みたいときがでてくるときがあります。 @{[ Perlの式 ]} そのようなときは、@{[ リスト ]} というイディオムを使うと非常に便利です。 print<<EOF; <div class="${foo}1"> <h1>TIME: @{[ tim

  • Perl でお手軽 OpenGL - Articles Advent Calendar 2010 Win32

    みなさま初めましてこんにちは。ハガと申します。 のっけから言うのもナンですが、僕はほとんど Perl を使った事がありません。というかこの前初めて触りました。普段は C++ で OpenGL 関係のプログラムを書いている事が多いのですが、周りには Perl 使いしかいないという状況で、寂しい思いをしております。みんなに C++ を使ってもらうのは無理くさい(というか意味が無い)ので、それならせめて OpenGL を広めてやろう・・・ということで、 Perl でも OpenGL は簡単に扱えるよ!という事をご紹介したいと思います。 そもそも OpenGL って何でしょう Open Graphics Library の略で、三次元の絵を描くための API です。ライブラリって名前だけどライブラリじゃなかったり、オープンって書いてあるけど実装はオープンじゃなかったりと、まぁ色々ありますけど、細か

    Perl でお手軽 OpenGL - Articles Advent Calendar 2010 Win32
  • ファイル操作にまつわるエトセトラ - Articles Advent Calendar 2010 Win32

    最近なぜかタクティスクオウガを2個買った xaicron です。そういえば持っているのは PSP-1000 なので、そろそろ 3000 か Go が欲しいです。サンタさんはまだ僕のところに来るのかな? 今日は Windows でより便利かつポータブルにファイル操作をする方法とかをつらつらと書いていこうと思います。 思いついた順に適当に書いていくので、悪しからず。 実は / が使える Windows の path 区切りは 「\」 であることは周知のとおりですが、実は 「/」 も扱えます。 「\」だとダブルクォートの時に重ね打ちしないといけないし、正規表現での変数展開でもよろしくない動きをしたりしてちょっと悲しいです。 say "C:\nekomimi-mode"; # C:{改行}ekomimi-mode say "C:\\nekomimi-mode"; # C:\nekomimi-mod

    ファイル操作にまつわるエトセトラ - Articles Advent Calendar 2010 Win32
  • Windows でも Growl を使おう - Articles Advent Calendar 2010 Win32

    こんにちわ。Growl 大好きっ子 mattn です。 重たいバッチジョブを走らせている間、別の作業をする。ジョブが終わったらデスクトップに Growl を表示させて処理の完了を知る。 その合間にもRSSから配信されたニュースや自分への Mention を Growl 表示し、あっという間に情報を操作する。 誰もが憧れる Hackish な作業風景ですね。Mac ユーザであればその他の活用方法を知ってる人も数多くいるでしょう。 Windows だから同じ様には行かない... そんな風に思っていた頃が僕にもありました。 Growl For Windows http://www.growlforwindows.com/gfw/ そんな僕らはある日 Growl を得た。リッチな UI そして変更出来るデザイン。アイコンも表示出来る。さらにはプロトコルが公開されている。 http://www.gr

    Windows でも Growl を使おう - Articles Advent Calendar 2010 Win32
  • それ多分Perlでできるよ - Articles Advent Calendar 2010 Win32

    どもです、こっそりWin32Trackに参加したら速攻でcharsbarさんに「次お前な」といわれてしまいました、turuginaです。一応kansai.pm所属らしいです。 さて、今回はperl/binディレクトリの中から 「*nix環境には普通にあるけど、Windows環境にはない」というコマンドの代替スクリプトのようなものをいくつか紹介してみたいと思います。 ptar Archive::Tar付属スクリプト。 tarコマンドっぽいスクリプト。 tarコマンドと違って オプション指定にハイフンが必須だったり圧縮オプションはz(zlib圧縮)しか対応してなかったり(伸長はbzip2でも大丈夫)と微妙に使いづらい気も... とりあえず、perlのソースコード tarball はこのptarで問題なく展開できるはずです。 おまけで(?) tarファイルの中身とディレクトリとのdiffを取る

    それ多分Perlでできるよ - Articles Advent Calendar 2010 Win32
  • CPANモジュールをWindowsのみで作成する方法 - Articles Advent Calendar 2010 Win32

    こんにちは今年CPAN Authorの端くれになったSongmuです。私みたいなヤツがCPANにモジュールを上げてしまってDisられないかビクビクしております。 CPANモジュールをWindows上で作っていたら色々無駄に苦労してしまったので、その辺の話を、Windows上でPerl開発する上でのTipsも含めて書いてみたいと思います。 Cygwinは甘ぇ VMは邪道 コマンドプロンプトとGUIで頑張るのが真のWin32Perl使い (ごめんなさいごめんなさい) では行ってみたいと思います。 改行コード編 ソースコードの改行コードは基的にはLFに揃えたいところです。ただ、Windowsには様々なところでCRLFがついてまわりますが、 注意。いきなりバッドノウハウです。 ActivePerlでは、標準の改行コードがCRLFになっています。また、読み込んだファイルの改行コードがCRLFでもL

    CPANモジュールをWindowsのみで作成する方法 - Articles Advent Calendar 2010 Win32
  • cmd.exe の C は…… - JPerl advent calendar 2010 win32 Track

    『死体の C』と答えた方はミステリ小説のファンですね。「クリスマスの C」と答えた方は、うーん、ちょっと惜しいかも。「Visual C」と答えてしまったあなたは、ぜひ次のエントリを書いてください。 というわけで3日目の今日は頭文字 C の覆面ライターが Perl を使ってコマンドプロンプトをちょっとだけ使いやすくする方法を紹介します。 なお、この手のハックの常として、操作を間違えたりタイプミスをしたりすると最悪Windowsの再インストールという事態に陥ることもありえます。試される方は自己責任でお願いします。 右クリックメニューを追加する みなさんよくご存じのように、Windows ではふつうファイルのアイコンをダブルクリックすると、ファイルの拡張子に応じて登録済みのアプリケーションが実行されるようになっています。もちろん Perl もこの例外ではありません。ActivePerl や、最近

    cmd.exe の C は…… - JPerl advent calendar 2010 win32 Track
  • Windows GUI アプリケーションでの Perl プラグインの作り方 - Articles Advent Calendar 2010 Win32

    こんにちわ。Windows を殺したいほど愛している mattn です。 WindowsPerl を日常的に使っている日人3名の内の2人目です*1。 一般的に Perl はテキストを操作したり、Web アプリケーションフレームワークを構築する言語として有名です。しかし Perl の威力はそれだけでは止まりません。WindowsPerl をどの様に扱うかは人によって異なります。 人によっては Windows GUIアプリケーションを拡張する為の言語として使用するかもしれませんね。 Perl の様な柔軟な言語が GUI アプリケーションのプラグイン言語として使えたら便利だと思いませんか? 作りましょう! まずはWindows GUI アプリケーションを作ろう ここは Win32 SDK をどっぷり触ったオッサンなら誰でも作れますよね。 #include <windows.h> #

    Windows GUI アプリケーションでの Perl プラグインの作り方 - Articles Advent Calendar 2010 Win32
  • 使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual

    gfxと申します。 Perlは後方互換性を重視しているので、標準モジュールはめったに取り除かれる事がありません。しかしそれでも、いくつかのモジュールが将来的に取り除かれる見込みです。そのようなモジュールは使用しないほうがいいでしょう。また、取り除かれはしないものの、様々な理由から使用すべきでないモジュールもいくつかあります。今日は、そういった使うべきでないモジュールを紹介します。なお、このエントリの対象バージョンは5.8から5.14を想定しています。 さて、まずは取り除かれるモジュールです。現在のところ、以下の三つのモジュールが5.14でコアから削除される予定です。 Class::ISA Pod::Plainer Switch Class::ISAはクラス階層を直列化するモジュールですが、5.10以降はmroに取って代わられました。5.10未満のバージョン用にはMRO::Compatが用意

    使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual
  • @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual

    こんにちは。最近は PHP ばっかり書いている、永遠の Perl 初心者 hatyuki です。 とつぜん質問ですが、みなさんが最も多くみている Perl のエラーはなんですか? 自分の場合は、う〜ん。。。 Can't locate Hoge.pm in @INC (@INC contains: ~~~~ .). BEGIN failed--compilation aborted. かな?いつまでも進歩がないのが伺えますね! 皆さんご存知の通り、このエラーは "@INC" で指定されたディレクトリの中にモジュールが見つからなかった場合に発生するエラーです。つまり、モジュールをインストールし忘れているか、モジュールがどこに置いてあるのかを適切に設定していないか、の (およそ) どちらかですね。 さてさて、Casual Perler な皆さんは、このエラーを回避するためにどんな方法を使って @

    @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual
  • Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual

    こんにちは!モダンPerlの裏側しか知らないkoba04です。 今日は、少し前まで「続・初めてのPerl」を読んでいた自分が、遅ればせながらその便利さに感動して使うようになったPath::Classについてを。(ってもう使ってますよね。。) 多分Casual Trackの中でも最も初心者向けな内容になっているんじゃないかと思います。。 何が便利かというと、「File::Spec」や「File::Path」、「IO::Dir」、「IO::File」、「File::stat」などのモジュールにある関数を「Path::Class」をインターフェイスとして使うことが出来ます。 とりあえず「use Path::Class」でいいので便利ですね! オブジェクトの作成 まずはファイルオブジェクトの作成。(file) use Path::Class; my $file = file('path', 'to

    Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual
  • Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual

    こんばんは。tumblr がサーバーダウンするとネット呼吸が出来ないotsune (Facebook - otsune) です。 jp.blogs.com|おもしろブログ記事のまとめサイトというサイトで、ネットウォッチ中に見かけた興味深いWebページのURLを美人編集長上野さんにたれ込むという趣味的行為をしているんですが。困ったことにURL集計にGoogle Docsの表計算の複数人編集機能を使ってて、1-clickどころかブラウザひらいてマウスでカチコチと気の長くなるほどメンドクサイ手順を踏まないとURLを貼れないという、CUIGUIのあいだに横たわる深くて長い天の川があったりしてシンドイわけです。世間でもよくある話ですね。 そんなわけでめんどくさいことはPerlのようなものにやらせればいいのよってことで、今日は飲み会のヒーローlopnorさんが書いたNet::Google::Spre

    Google Docsの表計算書類をNet::Google::Spreadsheetsを使ってブラウザ抜きで読み書きする - Articles Advent Calendar 2010 Casual
  • コマンドラインで使えるかもしれないツール等あれこれ - Articles Advent Calendar 2010 Casual

    鎌倉で毎日どんぶりべてます、sugyanです こんにちは! 皆さん、ターミナルやシェルは何をお使いでしょうか?僕は現在MacにてiTerm2+zshを使っています(あんまり使いこなせてませんが…)。 プログラミングして書いたコードを実行するには、ターミナルでコマンドを打つのがほぼ必須ですよね。皆さんも毎日たくさんのコマンドをターミナルで叩いていることと思います。 CPANで配布されているモジュールたちは、Perlスクリプト内でuseして使うためのものだけではなく、シェルから実行できるコマンドが用意されている場合もあります。[/articles/advent-calendar/2010/casual/1:title=1日目]で紹介されたperlbrewやcpanmも、Perlで書かれたコマンドラインツールですよね。 今回はそんなコマンドたちを紹介してみようと思います。 ■開発環境系 per

    コマンドラインで使えるかもしれないツール等あれこれ - Articles Advent Calendar 2010 Casual
  • Perlの開発環境をCasualに作ろう - Articles Advent Calendar 2010 Casual

    JPerl Advent Calendar Casual Track 一日目をやる myfinder です。 去年はlocal::libがもてはやされたりしていましたが、あれから1年の間にPerlは更に手軽に使えるようになりました。 初日、最初の一歩ということで今回はPerl開発環境を簡単に作るための手順をまとめます。 対象は基的にLinuxで、さくらのVPSとかその辺を想定しています。 Macでも同じようにやればできるでしょう。 Windowsの場合はわかりません。きっとWin32トラックの人が書いてくれると思います(ぉ perlbrew これまでは、システムの提供するPerl + local::libで環境を作っていたと思いますが、perlbrewの登場によってPerl体すらも自分のアカウント内に置くことが簡単にできるようになりました。 バージョンの切り替えもできるので、複数のバー

    Perlの開発環境をCasualに作ろう - Articles Advent Calendar 2010 Casual
  • Perlマニュアルの歩き方 - モダンなPerl入門 - モダンなPerl入門

    Perl には標準で説明書がついているのですが、まずそこへたどりつくのがひとくろうです。 稿では、そこへたどりつき、快適な Perl life を送るための道標をあたえます。 perldoc Perl には、説明書を読むためのツールとして perldoc というコマンドラインツールが標準添付されています。 このツールを使いこなして、ようやく Perl Monger としての初めの一歩にたどりついたといえるでしょう。 perldoc の説明書をみる perldoc の説明書も Perl でみれます。 % perldoc perldoc とうつだけで OK。 マニュアルの目次をみる % perldoc perl とすると、Perl のマニュアルがみれます。 これを全部よむ必要はありませんが、どういうものがのっているのかを頭にいれておくと、べんりですね。 perldoc -f func 標準関

  • CPAN::Mini - モダンなPerl入門 - モダンなPerl入門

    CPANモジュールの最新版をローカルにミラーします。 モジュールがローカルにあることによってインストールの高速化、オフラインハックなどのメリットがあります。 インストール cpan CPAN::Mini すると同時にminicpanというコマンドがインストールされます。 使い方 minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l /var/minicpan -r にミラー元のURL、-lにミラー先のディレクトリを指定します。 cronに登録しておけば定期的にローカルミラーを最新に維持することができます。 0 4 * * * minicpan -qq -r http://ftp.funet.fi/pub/languages/perl/CPAN/ -l /var/minicpan 後はCPANシェルから cpan> o con

  • Config::PitとWeb::ScraperとPlaggerで24時間365日のゲーム監視体制

    序文 趣味のネットウォッチのために仕方が無く超便利なPerlを覚えようという感じの otsune です。そんなわけでコーディングの深い話はよくわからんので、今回はPerlとCPANを使ってネットウォッチを支援する手法について書きます。 ウォッチしたいWebページを機械的に監視できれば、あとはPlaggerなどの便利ツールを使って「メールを出す」「im.kayac.comでメッセンジャーにアラートを出す」「ピザを注文する」など好きな処理をすることが出来ます。 RSSフィードやAPIなどがあるWebサイトであれば特に苦労はしないのですが、今回取り上げるOgame.jpはウェブブラウザーゲームなので、フィードなど便利な機能はまったく存在しません。 そこでウォッチしたいWebページに対してWeb::Scraperを使ってYAMLを出力する短いスクリプトを書いてしまいます。 メールを出すなどのこまご