コードリファレンスの基本

コードリファレンス(orコードレフ)の基本的な使い方を学びました。とりあえずハッシュに格納して呼び出す感じです。

#!/usr/bin/perl

use strict;
use warnings;

my %printer = (
  with_nl     => \&print_with_nl,
  without_nl  => \&print_without_nl,
  all_capital => \&print_all_capital,
);

sub print_with_nl {
  local $_ = shift;
  print /\n$/ ? $_ : $_."\n";
}

sub print_without_nl {
  local $_ = shift;
  s/\n$//;
  print;
}

sub print_all_capital {
  local $_ = shift;
  s/(\w+)/\U$1/g;
  print;
}

my $str = "I am learning Perl!\n";

$printer{with_nl}    ->($str);
$printer{without_nl} ->($str);
$printer{all_capital}->($str);

実行結果

I am learning Perl!
I am learning Perl!I AM LEARNING PERL!

オブジェクトに持たせてやると便利そう。最近ちょっとかじってるJSだと普通にハッシュにメソッドを格納すると思うんですが、そういうイメージでいろいろ書いてみようかと思います。あとはそういうコード見つけて読んだりとか。


続・初めてのPerl 改訂版

続・初めてのPerl 改訂版

[rakuten:book:10759860:detail]