PHPで値の交換

先日、BuzzurlのブクマでみたPHPの値の交換がスゴかった。

aとbの値を交換したいときに、僕がすぐに思いつくのは以下のソースコードです。

次に、先日発見した方法が以下のソースコードです。

なるほどなという感じだ!

参考

Pocket

Posted in PHP.

Perlのundef

Perlでは、未定義な値をundefとして取り扱う。

ここで$hogeを数値型として扱う場合は0として、

文字列型として扱う場合は空文字列として扱う。

また、NULL値もundefとして扱われるようだ。

undef値を出力しようとするとエラーになってしまう。

このエラーを避けるために、変数が定義済みの場合のみ処理を実行するようなコードを書く必要がある。

変数が定義されているか(undefかどうか)を調べるために、

Perlではdefined関数が用意されているので、それを利用する。

defined関数は、引数として渡された値が定義されているならば真を、

未定義(undef)ならば偽を返す。

上記の条件を日本語に直すなら、

「もし、$hogeが定義されているならば$hogeを出力。未定義ならばVariable is undefを出力する。」

となる。

参考

Pocket

Posted in Perl.

Perlでメール送信

Perlでメール送信するプログラムを書いたのでメモ。

メールを送信する方法はいくつかあるらしいが、

今回はNet::SMTPモジュールを使っている。

まずはコードの先頭で、Net::SMTPモジュールを使うことを宣言する。

メールを送信するには、以下のようにSMTPオブジェクトを生成して各データを渡すことで実現できる。

ここで注意しないといけないのが、文字コードらしい。

電子メールでよく使われる文字コードは「iso-2022-jp」みたいなので、コレにあわせる。

ヘッダーに関してはさらにややこしいらしく、BASE64というエンコード方法を使って、これらの文字をASCIIに変換し、ヘッダに埋め込む方法を規定しているらしい。

これでようやく文字化けさせずに送信できるみたいです。

エンコードのところはあってるのかわかりません。。。

参考

Pocket

Posted in Perl.