タグ・アーカイブ: perl

みなさま

こんばんは。(っ´∀`)っ ゃーです。2010/08/28に行われました、第一回いたこ会、無事終了いたしました。

講師のゆーすけべー様、高野光弘様、そしてご参加くださった皆様、本当に有難うございます。そして、不慣れな運営でご心配をおかけいたしまして申し訳御座いません。いたこ会の準備にあたりアドバイスいただきました法林さん、りゅうちさん、あらためてお礼申し上げます。

ゆーすけべー様の「PerlでCLI(くり)アプリ!」は、いかに効率よくOPPAI画像を収集するか、そしてYahooAPIを使う上での注意点などを非常に実用的な例を使って解説していただきました。

高野光弘様の「シェルスクリプトで頭の体操」ではbrainf*ckをshに食わせて1文字ずつHello Worldを表示させる過程を解説していただきました。

その後、鹿野さん、りゅうちさん、加藤さんと(っ´∀`)っ ゃーによるLT大会が行われ、本編が終了です。

懇親会は新橋の「かがや」で不思議な雰囲気の中行われ、マスターにはぁゃιぃ宗教団体と思われていたようですがこちらも童心に帰って非常に盛り上がりました。

9月10日、11日はOSCです。こちらも張り切っていきますよー (`・ω・´)

前回の続き。今度は、ブラウザで表示できるようにしてみた。

sh-3.00$ cat example2.pl
#!/usr/bin/perl
#print "Content-type: text/html;nn";
print "Content-type: text/html; charset=UTF-8nn";
print "n";
print "n";
$hr = "-" x 96;
$time = localtime;

print "$hr
n";
print "$time のディスク使用量
n";
print "n";
print "

n";
system("/bin/df -h");
print "

n";
print "n";

print "$hr
n";

print "$time のメモリ使用状況
n";
print "n";
print "

n";
system("/usr/bin/free");
print "

n";
print "n";

print "$hr
n";

print "CPU使用率
n";
print "n";
print "

n";
system("LANG=C /usr/bin/sar -u 1 10");
print "

n";
print "n";

print "$hr
n";

print "
n";
print "n";
print "n";

ブラウザで実行した結果は以下の通り。

------------------------------------------------------------------------------------------------
Fri Nov 16 20:49:52 2007 のディスク使用量

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       66G  1.3G   61G   3% /
/dev/sda1              99M   24M   71M  25% /boot
none                 1014M     0 1014M   0% /dev/shm
/dev/sdb1              68G  355M   64G   1% /home

------------------------------------------------------------------------------------------------
Fri Nov 16 20:49:52 2007 のメモリ使用状況

             total       used       free     shared    buffers     cached
Mem:       2075952     834476    1241476          0     106752     581424
-/+ buffers/cache:     146300    1929652
Swap:      2031608          0    2031608

------------------------------------------------------------------------------------------------
CPU使用率

Linux 2.6.9-55.0.12.EL (nullpopopo.blogcube.info)     11/16/07

20:49:52          CPU     %user     %nice   %system   %iowait     %idle
20:49:53          all      0.00      0.00      0.00      0.00    100.00
20:49:54          all      0.00      0.00      0.00      0.00    100.00
20:49:55          all      0.00      0.00      0.00      0.00    100.00
20:49:56          all      0.00      0.00      0.00      0.00    100.00
20:49:57          all      0.99      0.00      0.00      1.98     97.03
20:49:58          all      0.00      0.00      0.00      0.00    100.00
20:49:59          all      0.00      0.00      0.00      0.00    100.00
20:50:00          all      0.00      0.00      0.00      0.00    100.00
20:50:01          all      0.99      0.00      0.99      4.95     93.07
20:50:02          all      4.90      0.00     11.76      0.00     83.33
Average:          all      0.70      0.00      1.30      0.70     97.31

------------------------------------------------------------------------------------------------

時刻表示は、unixのdateコマンドより楽かも知れない。
今日のネタは、これ。

sh-3.00$ cat example1.pl
#!/usr/bin/perl

print "------------------------------n";

$data = localtime;
print "現在時刻を表示するn";
print "$datan";

print "------------------------------n";

$time = time;
print "現在時刻をUNIXTIMEで表示するn";
print "$timen";

print "------------------------------n";

$gmtime = gmtime(time + 0);
print "現在時刻をGMTで表示するn";
print "$gmtimen";

print "------------------------------n";

実行結果は以下の通り。

sh-3.00$ ./example1.pl
------------------------------
現在時刻を表示する
Wed Nov 14 23:00:10 2007
------------------------------
現在時刻をUNIXTIMEで表示する
1195048810
------------------------------
現在時刻をGMTで表示する
Wed Nov 14 14:00:10 2007
------------------------------

perlでのgrep関数を使ってみた。意外と簡単。
プログラムは以下の通り。

sh-3.00$ cat grep01.pl
#!/usr/bin/perl
@array = ("apple", "application","pineapple","wine","windows");
$count = grep(/app/, @array);
@items = grep(/app/, @array);
print "件数は$count、内容は@items。n";

appを含むものを引っ掛けてその件数と内容を表示する。

sh-3.00$ perl grep01.pl
件数は3、内容はapple application pineapple。

次に、先頭文字がappのものを引っ掛けてその件数と内容を表示する。

sh-3.00$ cat grep02.pl
#!/usr/bin/perl
@array = ("apple", "application","pineapple","wine","windows");
$count = grep(/^app/, @array);
@items = grep(/^app/, @array);
print "件数は$count、内容は@items。n";

実行結果は以下の通り。

sh-3.00$ perl grep02.pl
件数は2、内容はapple application。

そして、大文字小文字を区別せずに検索してみる。

sh-3.00$ cat grep03.pl
#!/usr/bin/perl
@array = ("Apple", "aPPlication","piNeapple","wine","windows");
$count = grep(/app/i, @array);
@items = grep(/app/i, @array);
print "件数は$count、内容は@items。n";

実行結果は以下の通り。

sh-3.00$ perl grep03.pl
件数は3、内容はApple aPPlication piNeapple。