Hatena::Groupperl

Perl Study Memory

There is a difference between knowing the path and walking the path.

自己紹介  | 初めてのPerl 第3版  | 続・初めてのPerl 改訂版  | アーカイブ  | 参考書籍・推薦図書

|

2010-06-09

Catalyst本購入

| 23:55 | はてなブックマーク - Catalyst本購入 - Perl Study Memory

こんばんは、AzureStone(あーじゅ・すとーん)です


f:id:azurestone:20100609234914j:image:w450


ついに買っちゃいました!




PerlフレームワークCatalyst完全入門

PerlフレームワークCatalyst完全入門

2010-05-07

動画:Kansai.pm 第12回ミーティング in 奈良:設立10周年記念ミーティング

| 11:35 | はてなブックマーク - 動画:Kansai.pm 第12回ミーティング in 奈良:設立10周年記念ミーティング - Perl Study Memory

おはようございます、有給をとってゴールデンウィーク満喫中のAzureStone(あーじゅ・すとーん)です。

取り急ぎ発表動画をここにまとめておきます。よかったら見てください。

Webマネーが、あればニコニコ動画にアップしたのですが、なかったのでYoutubeにアップロードしました。


PSGI/Plack 入門


PDFJで作図 ~ 石畳と蛇腹


PHPer向けのPerl


Image::MagickとImage:ExifToolの入門


Perlのドキュメントは、いずこ?


Kansai.pmのこれまでとこれから



本日おすすめの関連書籍

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

2010-04-30

データの書き換えを禁止する ─ 検証スクリプト:001

| 01:07 | はてなブックマーク - データの書き換えを禁止する ─ 検証スクリプト:001  - Perl Study Memory

こんばんは、AzureStone(あーじゅ・すとーん)です

単なる検証コードです。(;^_^A アセアセ…

あるワードで検索したらReadonlyというモジュールの存在を知ったので

少しやってみました。

Readonly


参考にした資料



どうやら標準モジュールではないらしい

azurestone@ubuntu9-10:~/tmp/perl/readonly$ ./readonly01.pl
Can't locate Readonly.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./readonly01.pl line 6.
BEGIN failed--compilation aborted at ./readonly01.pl line 6.
azurestone@ubuntu9-10:~/tmp/perl/readonly$

Readonlyをインストール

sudo cpan -i Readonly

readonly00.pl

#!/usr/bin/perl -l

use strict;
use warnings;

use Readonly;
use Data::Dumper;
sub ddp ($) { print Data::Dumper::Dumper(shift); }
sub say ($) { print "\t" . shift;}
sub line    { print "--------------"};

Readonly my $num   => 12345;
Readonly my $char  => 'AzureStone';

say $num;
say $char;
line;

Readonly my @list => (1, 2, 3, 4, 5);

foreach (@list)  {
  say $_;
}

line;

Readonly my %hash  => (
  "one"   => '1',
  "two"   => '2',
  "three" => '3',
  "four"  => '4',
  "five"  => '5',
);

foreach (keys %hash) {
  say $_;
}
line;

1;

実行結果

azurestone@ubuntu9-10:~/tmp/perl/readonly$ ./readonly00.pl
        12345
        AzureStone
--------------
        1
        2
        3
        4
        5
--------------
        three
        five
        one
        two
        four
--------------
azurestone@ubuntu9-10:~/tmp/perl/readonly$

readonly01.pl

#!/usr/bin/perl -l

use strict;
use warnings;

use Readonly;
use Data::Dumper;
sub ddp ($) { print Data::Dumper::Dumper(shift); }
sub say ($) { print "\t" . shift;}
sub line    { print "--------------"};

Readonly my $num   = 12345;
Readonly my $char  = 'AzureStone';

say $num;
say $char;
line;

Readonly my @list = (1, 2, 3, 4, 5);

foreach (@list)  {
  say $_;
}

line;

Readonly my %hash  = (
  "one"   => '1',
  "two"   => '2',
  "three" => '3',
  "four"  => '4',
  "five"  => '5',
);

foreach (keys %hash) {
  say $_;
}
line;

$num  = 20100514;
$char = 'AHO';

@list = (2010,05,14);

$hash{'one'} = 'dog';

1;

実行結果

azurestone@ubuntu9-10:~/tmp/perl/readonly$ ./readonly01.pl
Type of arg 1 to Readonly::Readonly must be one of [$@%] (not scalar assignment) at ./readonly01.pl line 12, near "12345;"
Type of arg 1 to Readonly::Readonly must be one of [$@%] (not scalar assignment) at ./readonly01.pl line 13, near "'AzureStone';"
Type of arg 1 to Readonly::Readonly must be one of [$@%] (not list assignment) at ./readonly01.pl line 19, near ");"
Type of arg 1 to Readonly::Readonly must be one of [$@%] (not list assignment) at ./readonly01.pl line 33, near ");"
Execution of ./readonly01.pl aborted due to compilation errors.
azurestone@ubuntu9-10:~/tmp/perl/readonly$

readonly02.pl

#!/usr/bin/perl -l

use strict;
use warnings;

use Readonly;
use Data::Dumper;
sub ddp ($) { print Data::Dumper::Dumper(shift); }
sub say ($) { print "\t" . shift;}
sub line    { print "--------------"};

Readonly my $num   => 12345;
Readonly my $char  => 'AzureStone';

say $num;
say $char;
line;

Readonly my @list => (1, 2, 3, 4, 5);

foreach (@list)  {
  say $_;
}

line;

Readonly my %hash  => (
  "one"   => '1',
  "two"   => '2',
  "three" => '3',
  "four"  => '4',
  "five"  => '5',
);

foreach (keys %hash) {
  say $_;
}
line;

$num  = '20100514';
$char = 'AHO';

@list = (2010,05,14);

$hash{'one'} = 'dog';

1;

実行結果

azurestone@ubuntu9-10:~/tmp/perl/readonly$ ./readonly02.pl
        12345
        AzureStone
--------------
        1
        2
        3
        4
        5
--------------
        three
        five
        one
        two
        four
--------------
Modification of a read-only value attempted at ./readonly02.pl line 41
azurestone@ubuntu9-10:~/tmp/perl/readonly$


本日おすすめの関連書籍

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

|