Perl VS PHP (593レス)
前次1-
抽出解除 レス栞

228
(5): 03/01/07 19:06 ID:ddb4neGL(1/2) AAS
最近 PHPの勉強はじめました。
話題的にはかなり出遅れた感じがするけど、
1,2ヶ月触って見た感想です。

if ($foo):
 do_sth();
else:
 do_nth();
endif;

短い例ではあまりメリットないけど、
ブロックの中が長くなってくると {} より : 使ったほうが
ソースの見通が良くなる。(・・・と個人的に思う。
endif が余計。ついでに python っぽく $ ; なんかも省略出来ればベターなんだけど。

perlでは、if の後が 1 行しかなくても {} を省略出来ないのが、時々不便。
if 修飾子は便利だけど、↑は、 if ... else ... で使いたい場合。
229
(1): 228 03/01/07 19:06 ID:ddb4neGL(2/2) AAS
文字列変数にインデックス付きで配列の様にアクセス出来る。(PHP
$str = "abcdefg";
for ($i=0; $i<strlen($str); ++$i) print "$str[$i]\n";

perl では、 substr とか split//,$str ってやってたなぁ・・・
tiearrayを使えば自作出来なくもないが、標準で出来るのは羨ましい

PHP の正規表現(の関数のインターフェース)が使い辛い。
preg_* ereg* ...等
うまく説明できないので、単にPerl に慣れすぎただけかも知れないけど。

perlにあってPHPにも欲しいもの。
$foo ||= 'val';
use strict
-w -T

PHP にあってperlでも欲しいもの
touch関数

; 比較のスケールが小さいのは、
; php, perl 共に私的な用途のためのシェルスクリプトとしてしか使っていないから:p
230
(1): 03/01/07 20:39 ID:zRU7DPSW(1) AAS
>>228
いろいろ言いたいことがあるが、誰かなんとか言ってあげて。
234
(1): 03/01/07 23:14 ID:uIabx/QP(1/2) AAS
>>228
>perlでは、if の後が 1 行しかなくても {} を省略出来ないのが、時々不便。

{}強制はむしろPerl特有の数少ない利点だと思っているが。
中括弧が任意のPHPやC,Javaなどで、
if ($hoge)
if ($foo)
do_sth();
else do_nth();

こういうぶら下がりelse問題と呼ばれる現象がおきるのは有名。
Perlだと強制だからこの種のスクリプトで読み間違うことはない。
236
(2): 03/01/08 08:18 ID:WxnZLqWA(1) AAS
>>228
>perlでは、if の後が 1 行しかなくても {} を省略出来ないのが、時々不便。

die if ($hoge);

{ }を省略可。
239: 228 03/01/09 02:21 ID:cXAmslEp(1) AAS
>>230
いろいろ突っ込んで欲しかったのだけど、多分言いたそうな事を要約すると
pearの標準コーディング規約読めって事で OK ?

>>232
thx フォロー

>>234-235
> ぶら下がりelse問題
この問題に付いては考えたことがなかった。
普段良く読むソースがperl python lispだからかな。
C/C++のプログラミングスタイル関連の本で読んだのを思い出しました。
{} の強制にメリットがあったんですね。知らずに恩恵を受けていたなんて・・

>>236,238
>perlでは、if の後が 1 行しかなくても {} を省略出来ないのが、時々不便。
>if 修飾子は便利だけど、↑は、 if ... else ... で使いたい場合。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.015s