トップページphp
1001コメント332KB

Perlコーディング初心者質問スレ Part 61

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/06/05(土) 21:11:10ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >2 以降

前スレ http://pc11.2ch.net/test/read.cgi/php/1251989472/
0738nobodyさん2010/11/26(金) 00:07:31ID:???
>>735
># 大きく中略。$returnを取得するSQL文を書いてる。
例えばこの$returnは仮に foo($param1) という呼び出しで取れるとして、
$param1がフォームからの入力値である必要は無く
コマンドラインから呼び出して foo($ARGV[0]) としても正しく動くわけで、
foo()はコントローラには無くてもいいよね。
#そう切り分けることを>705でモジュールと呼んでたのなら近い認識かも知れない

余計なお世話だけど if(!$param1) だと $param1 に "0" が入った時も真判定されるので
if ($param1 ne "") という意図ならそのように書いた方がいいよ。
0739nobodyさん2010/11/26(金) 01:03:21ID:???
ne "" だと、「"param1"というパラメータ名はあるが値は空文字列」という場合に駄目だな。
param('param1') は、param1というパラメータ自体が無かった場合はundefを返し、パラメータはあるが値が無かった場合は空文字列になる。
だから ne "" は正しくなく、「動く」のを優先するなら735のままで実は正しい。ただしたまたま動いているだけなので、ちゃんと書くならdefinedを使う。
if (not defined $param1)
あと$param1がundefだった場合に ne を使うとuninitializedのwarnが出る。
■ このスレッドは過去ログ倉庫に格納されています