初心者だけどPerlが大好き

コードが世界を変える!

さくらにcpanm をインストール

みなさま こんにちは
昨日は ゆるPerl #11 が開催されました。
ゆるPerl とは・・・・名古屋でPerlをゆるく語る会 のこと
https://groups.google.com/group/yuruperl-nagoya?hl=ja

最近は エーデルワイスというテレビ塔横の喫茶店の二階で 開催しています。
昭和時代にタイムスリップできる古ぼけた良い雰囲気の木造の喫茶店です。
ホワイトボードがあり 机は四人テーブルが12 個あります。
広々していて 電源もあるので PC作業に適しています。
昨日は ハンダづけしたいと言ったメンバーに 作業板を貸してもくれました。
まあ 会場が変わっただけで 
ゆるPerl の内容としては 各自好きなことして好きなことをしゃべっていました。

さて。
わたしが クラさん( @clairvy ) に教えていただいたことを お伝えしたいとおもいます。
クラさんは名古屋pmのリーダーで どんな言語も万能の天才です。

「さくらレンタルサーバーにcpanm をインストールする方法」

まず ワタシのPCがwindowsなので
sshでさくらレンタルサーバーにアクセスするためにTera-Termをインストール。


Windows用定番SSHクライアント「Tera Term」の使い方 - SourceForge.JP Magazine オープンソースの話題満載
http://sourceforge.jp/magazine/09/02/02/0412259


ダウンロード - Tera Term (テラターム) - SourceForge.JP
http://sourceforge.jp/projects/ttssh2/releases/

サーバーにアクセスしました。すると Unixコマンドが使えるようになります。
% のあとに 打っていきます。

以下は クラさんに まとめてもらった文章です。

  • cpanm をインストールした

curl -L http://cpanmin.us | perl - App::cpanminus

http://search.cpan.org/~miyagawa/App-cpanminus-1.4007/lib/App/cpanmin...)

  • cpanm は以下にある.

/home/e2ko777/perl5/bin/cpanm

/home/e2ko777/perl5/bin/cpanm -l perl5 Net::Twitter::Lite

  • その他

curl コマンドを実行して,そのコマンドが存在するかを試した

以下を追加することで,標準ではないモジュールの場所を,
Perl のプログラムに教えるようになった.
(Net::Twitter::Lite などはこちらにインストールされているので,
use Net::Twitter::Lite する前に以下を書く必要がある.)


use lib '/home/e2ko777/perl5/lib/perl5:/home/e2ko777/perl5/lib/perl5/
i386-freebsd-64int';

Frepan は,CPAN より早く更新情報を知るためのWeb サイト.

cpan や cpanm コマンドは,CPAN (http://search.cpan.org) を参照するが,
ppm コマンドは,PPMリポジトリを参照する.(PPMリポジトリのモジュールは CPAN から作ったものが多い.
(参考: http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html#...
http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html#...)
あと,ppmリポジトリにあるPerl モジュールは,基本は Windows 用に作られたもの.
CPAN にあるPerl モジュールは特に制限は無い(必ずしも全部の OS で動作確認された訳ではない)

Perl のモジュールは標準の場所にインストールすることもできるが,
そうでない場所にインストールすることもできる.
Sakura の場合 標準の場所にインストールして上記 use lib のような記述
を不要にすることは難しい.そのため,標準でない場所にPerl モジュール
をインストールし,use lib が必要になった.
(参考: ファイルのオーナーシップ.sudo 等)

以上です.

とのことです。ご自分で試して うまくいかなかったら ゆるPerlに来て 聞いてね


あとは 名古屋の孔明 岩田さんのブログに詳しく書いてあります

さくらのレンタルサーバPerlを使ってTweetするスクリプトのための準備まとめhttp://blog.iss.ms/2011/05/22/233512


conf.pl

#!/Perlのパス
my $conf = {
    consumer_key        => $consumer_key,         # Consumer key
    consumer_secret     => $consumer_secret,      # Consumer secret
    access_token        => $access_token,         # Access Token (oauth_token)
    access_token_secret => $access_token_secret,  # Access Token Secret (oauth_token_secret)
};

tweet.pl

#!/Perlのパス
use strict;
use warnings;
use utf8;
use FindBin;
use lib "${FindBin::Bin}/extlib/lib/perl5/", "${FindBin::Bin}/extlib/lib/perl5/i386-freebsd-64int";
use Net::Twitter::Lite;
use Encode;
 
my ($text) = @ARGV;
die 'no text'  unless defined $text;
 
$text = decode('utf-8', $text);
 
my $conf = do "${FindBin::Bin}/conf.pl";
my $tw = Net::Twitter::Lite->new(
    consumer_key    => $conf->{consumer_key},
    consumer_secret => $conf->{consumer_secret},
);
 
$tw->access_token($conf->{access_token});
$tw->access_token_secret($conf->{access_token_secret});
 
$tw->update($text);