Recent changes

2013-04-14 2013-04-02 2013-02-17 2013-01-29 2013-01-20 2013-01-18 2012-12-08 2012-11-06 2012-09-04 2012-08-02

Perl

ぺるる。読めるようになるぞ! 脱KENTが目標なりよ!

backtick演算子

あれ、systemとかexecとか使わなくてもこんなことができるんだ。 http://www.stackasterisk.jp/tech/program/perl02_02.jsp

サブルーチン

使い方

sub hoge {
  print "hoge:" . $_[0] . "

";

}
&hoge("huga");

return値を省略した時の動作

sub get_hoge
{
  $val = "hoge"
  return $val;
}

sub get_hoge
{
  $val = "hoge"
  $val;
}

でもいいとか。おどろきだね

comment
  • return の省略は引数じゃなくね?(トオルスガルモノノ)
    • あざーすあざーす修正しました。

PerlでPHPのvar_dumpみたいなの

use Data::Dump qw(dump);
dump($foo);

みたいな。

comment

↑は古いよ!

 use Data::Dumper;warn Dumper($foo);

use XXX;
XXX $foo;

の方がモダンだよ!

  • あざーすあざーす。勉強になるっす。

ハッシュってなんじゃ。

http://easycgi.xrea.jp/tips/perl/hash.htmを参照。 構成する時に

%search = ("google", "yahoo", "goo", "ocn_search");

とし、使う時には

$search{"google"} = "yahoo";

とする。 つまり、上のハッシュは

$search = array(
    'google' => 'yahoo',
    'goo'    => 'ocn_search',
);

と同じようなもの。Perl5からは

%search = (
    "google" => "yahoo",
    "goo" => "ocn_search",
); 

でいけるらしい。

Tips

File::Basename

use File::Basename

でdirnameが使えるようになるお。

file_exists

PHPのfile_exists関数と同じ事をぺるるでどうやるんかなあと思ったらこんなんだった。

sub file_exists {
  if ( -e $_[0]) {
    return true;
  } else {
    return false;
  }
}
#print &file_exists("moge.txt") . "

"; ↑これ動かしてみると動かない。何故ならPerlには「true」や「false」は無いから。

関連URL