perl の面白さ 1 perl へのこだわり
perl の使い方は、インターネットサイトに沢山有るので、私なりの経験を書いていく。
私が perl にのめり込んだのは、「ある面白さ」が有ったからだ。
そこで、順に紹介していく
1)eval(文字列を読み込んで、実行する関数)
大体?どのプログラム言語でも有る関数だと思うのですが、これを使うと、計算機が数行で書けてしまう。
最初、eval が何の関数か?使い方ってどうするの?だった。
しかし、次のサンプルを見た時、「目が点」になってしまった。(大笑)
– perl 計算機 —————-
while (<>) {
$r = eval;
if($@){print “error[$@]\n”;}
else {print “calc [$r]\n”;}
}
[ad#wpx-01]
——————————-
これだけで[1+1][cr]とすると[2] とでる。
さらに、[eval]と[par:perl script をexe化するもの]を使うと、windows OSが有れば[script]だけで、どこでも動く環境を作ることが出来る。
これ以上は、「危ない」ので、詳しく書けない。。(笑)
2)perl の正規表現 Regular Expressions (perl regex)?
perl だけだはないかも知れないが、これを多用した perl script は「ひんしゅく」を買う程、便利。しかし、便利なため、どうしても使ってしまう。
「業務用?のプログラムに正規表現って機能があるの?」って思ってしまうほどだ。
複雑にしてしまうと、自分でも後から分からなくなる。
だから、なるべく簡単?な正規表現にして使っている。(使いきれてない負け惜しみかもしれない。。)
一番便利だったのは
use utf8;
use Encode;
$line = “xxxyyyzzz”;
$line =~ s/yyy//;
$前の部分 = $`;
$マッチ部 = $&;
$後の部分 = $’;#’
print encode(“shift-jis”,”マッチした前の部分[$前の部分]”);
等と出来ることである。
実際、ニュースサイトのニュース記事($html_news とすると)は(細かいことを抜きにすると。。。)
while($html_news =~ s/
//) {$news = $&;push(@news,$news);}
で、配列 [@news]に1ニュースずつ入るので、後で、ゆっくり?加工する。。。
まだまだ有る。。。。後日に続く。。
[ad#wpx-01]