2009年3月

サンプル

#/usr/bin/perl
while(1) {
    #ToDo
}

 

解説

while(){...}は、()の中が真の間ループを繰り返します。
0が偽で1が真ですから、while(1)で、常に真と判定されます。

 

※0は偽ですが、真が1かどうかは言語や実装によって異なります。
いずれにしても0でない=真、ですから無限ループになります。

サンプル

#!/usr/bin/perl
$a = 2;
$b = 3;
if ($a != $b) {
    print ‘$a != $b’,”\n”;
}

 

実行結果

$a != $b

 

!=の代わりに<=>でも可。

サンプル

 

#!/usr/bin/perl

if ( 01 == 001 ) {
    print “true(1)\n”;
}

if ( “01” == “001”) {
    print “true(2)\n”;
}

if (“a” == “b”) {
    print “true(3)\n”;
}

if ( “a” eq “b”) {
    print “true(4)”;
}

 

実行結果

true(1)
true(2)
true(3)

 

解説

==や!=は両辺を数値として比較し、
eqやneは両辺を文字列として比較します。

文字列なのに数値として比較しようとした場合、両辺とも変換できない=if文成立、です。

print @array;

などとしただけでは空白区切りなので、$”に区切り文字を代入します。

 

サンプル

 

#!/usr/bin/perl
@array=(1,2,3,4,5);
$”=”,”;
print “@array”;

 

実行結果

1,2,3,4,5

 

なお、ダブルコーテーションで囲わないと展開されないので12345と表示されます。

 

カンマではなく、タブや\nで区切ることも当然可能。

1ずつ増減するにはインクリメント/デクリメントである++や--を使いますが、
1ではない数で増減させたいときがあります。

 

サンプル

#!/usr/bin/perl
for ($i=0;$i<10;$i+=2) {
    print “$i\n”;
}

実行結果

0
2
4
6
8

 

$i += 2 は $i = $i +2 と同じです。(*)

同様に

$i –= 2 は $i = $i – 2
$i *= 2 は $i = $i * 2
$i .= “hoge” は $i = $i . “hoge”

を表します。

 

(*)本当は実行速度が少しだけ違うけど、最近のマシンはハイスペックだし、
そもそもPerlの時点で実行速度なんて亀だし。

 

サンプル

#!/usr/bin/perl
$a = 3;
$b = ++$a;
print “$a $b\n”;

$a = 3;
$b = $a++;
print “$a $b\n”;

 

実行結果

4 4
4 3

 

++$aは、$aがインクリメントされてから$bに代入されますが、
$a++は$bに$aが代入されてから$aがインクリメントされます。

CGI(というか実体はシェルスクリプト)から日々携帯にメールするようcronに仕込んだところ、迷惑メールフィルタが発動するのか、ほとんど届きませんでした。

sendmail → Gmail … OK

sendmail → OCN … NG

sendmail → au … NG

Gmail → au … OK

 

Gmailから携帯に送るメールは即受信するので、インターネット→携帯が一律に遅延するわけでもなさそう。

#sendmailからだから、送信元偽装と見なされているのかも?

仕方がないのでGmailに送信→Gmailのフィルタで拾って携帯に転送することにしました。

 

 

自宅のグローバルIPアドレスを確認するだけです。

#!/usr/bin/perl

$mailto = hoge@hoge';
$subject = 'IP';
$mailcmd = '/usr/sbin/sendmail';
$mailfrom = 'fuga@fuga';

require "mimew.pl";

#
# create mail header
#
        $mailhead = "";
        $mailhead .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n";
        $mailhead .= "Content-Transfer-Encoding: 7bit\n";
        $mailhead .= "MIME-Version: 1.0\n";
        $mailhead .= "To: $mailto\n";
        $mailhead .= "From: $mailto\n";
        $mailhead .= "Subject: $subject\n";
        $mailhead .= "\n";

#
# create mail body
#
$mailbody =`wget -q -O - --http-user=USER --http-password=PASSWD "http://192.168.0.1/cgi-bin/main.cgi?mbg_webname=status&config_no=1"|egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'  | head –1 `;
chomp $mailbody;

#
# send mail
#
$cmd = "$mailcmd -t";
unless (open(OUT, "| $cmd")) {
        &errexit("error(1)");
}
unless (print OUT &mimeencode($mailhead)) {
        &errexit("error(2)");
}
unless (print OUT $mailbody) {
        &errexit("error(3)");
}
close(OUT);

 

IE用のWindows Live Toolbar にはカスタムボタンを追加することができます。

 

Microsoftのギャラリーhttp://gallery.live.com/default.aspx?pl=3で探しても希望のボタンが見当たらなかったので、自分で作ることにしました。

 

http://gallery.live.com/createcustombutton.aspx

で必要な情報を入力して「作成」ボタンを押すだけです。

 

まず、「基本情報」で、ボタンの名前やアイコン、クリックした際のリンク先を決めます。

テキストラベル:アイコン画像横のボタン名。インストール/アンインストール時の表示名でもあるので、短く適切に。

名前とキーワード:適当に。英数字のみ。

ツールチップ:ボタンにマウスカーソルを乗せたときに表示される説明文。日本語OK。

URL:ボタンをクリックしたときにジャンプするサイトを指定。複数指定した場合、1クリックで全URLが開く。

 

また、「メニューの追加」で、ボタンの右に▼マークとして展開されるメニューが作れます。

 

例えば基本情報でhttp://google.co.jp/をリンク先にして、メニューにGmailやGoogleカレンダーを登録すれば、オリジナルGoogleボタンの完成です。

 

「作成」ボタンを押したら

  • ツール バーに追加 
  • 作成したボタン パッケージのダウンロード 
  • このボタンを Windows Live Gallery で共有 

が表示されるので、一番上の「ツールバーに追加」でインストールします。

 

あとは通常のツールバーボタンと同じなので、非表示にしたりアンインストールしたりできます。

IE8 は全体的に良い動きをしていると思います。

IE7 を導入したときのようなストレスは少ない。

#耐性ができただけかもしれません。


で、F12キーで起動する開発者ツールが凄い。

Firefoxのアドオンで言うところのWebDeveloperと同じで、
ページの構造をツリー表示してくれたり、要素のプロパティを変更すると反映されたりする。

CSSを調整するのに重宝しています。

Firefoxもアドオンを入れれば同じことができますが、アドオンのために重いFirefoxを使うのは何か間違っていると思う。

ナローバンドは値上がり傾向。

~512Kbpsで4000円弱。

ブロードバンドは値下がり。

1~2Mbpsで4000円強、
2~4Mbpsで5000円弱、
4~8Mbpsで6000円強。

いずれも月額。

日本の感覚からすると馬鹿高い。

参考:http://internet.watch.impress.co.jp/cda/news/2009/03/26/22916.html



turbo+でtelnetともども導入できたはずなのにPATHが通らない。

探したら
/usr/kerberos/bin
に発見。

不慣れな鳥は使いにくいー
やっぱりCentOSとFreeBSDがいいと実感。

最新版だとやたらと不正落ちするので、前のバージョンを入れられないか画策したところ、
以下のサイトを発見。

http://www.oldapps.com/

Skype以外にも旧バージョンが公式から消えるiTunesやMSN Messengerが置いてあって便利そう。

前提1:Windowsで予めフォルダを共有設定しておく。

前提2:Linuxにはsmb-clientを入れておく。

Linuxで以下のコマンドを実行。

 mount -t cifs //(WindowsのIPアドレス)/(共有フォルダへのパス) (マウントポイント)

例)
 # mount -t cifs //192.168.0.3/C/Shared ./Win_Shared/


共有フォルダにアカウントを設定してある場合は-o username=で設定する。

例)
 # mount -t cifs //192.168.0.3/C/Shared ./Win_Shared/ -o username=hoge

書籍感想

ほしのあきサイバークローン

無料サンプル、ブログライター、ブログで口コミプロモーションならレビューブログ

フルみっく
伝染歌プレーヤー

急上昇キーワード

ゲーマータグ

Powered by Movable Type 4.25