電子書籍の厳選無料作品が豊富!

LinuxでCGI(Perl)プログラムを作っています。

いつも動きの確認は自分のPC(Linux)と友人のPC(LInux)で行なっていました。

そして、昨夜別の友人のPC(Windows XP)を使う機会があってついでにそのPC上でプログラムを動かしてみたら一部が正確に動作してくれませんでした。でも、その後自分のPCで実行すると正確に動作してました。

WindowsとLinuxで動作に差がでるものなのでしょうか?

A 回答 (3件)

#2補>


特別問題ない様に思います・
どういう動作の違いがでたんでしょうか?
文字コードに起因するものかもしれません。

この回答への補足

No.2のプログラムで取りだした$nameと既存の値$ataiを


if($atai=~/$name/){
$atai="$change\n";
}

としてるのですがどうもここがうまく動いてないようです。

if文の中に
print $name;
を書いてみたらLinuxでは表示されましたがWindowsでは表示されませんでした。

補足日時:2006/02/01 14:20
    • good
    • 0
この回答へのお礼

解決できました。

Windowsで実行すると$nameのあとに半角スペースが入ってました。

お礼日時:2006/02/01 18:29

>WindowsとLinuxで動作に差がでるものなのでしょうか?


Windows と unix で動作が異なる場合があります。

Perl の関数としての grep は、動作は変わらないと思います。
シェルコマンドとしてgrep を呼び出している場合は、
システムにインストールされているgrep で動作が異なることはあると思います。

そのプログラムを補足できますか

この回答への補足

補足します。

ボタンの名前を取得するプログラムでボタンの名前はすべて「submit_$name」となっています。$nameはボタンによって異ります。

@submit_names = grep(/^submit_/,keys(%in));
foreach $name(@submit_names){
$name =~ s/^submit_//;
print $name;

補足日時:2006/02/01 11:50
    • good
    • 0

一部,とかいわれてもプログラムも何もないのでわからないですが,


たとえばインストールしているPerlのバージョンが違ったりすると挙動が違うかもしれません.

この回答への補足

perl5.8.5を利用しています。

その動かなかったプログラム内では共通して「grep」を利用していました。

そこが悪いのでしょうか?

補足日時:2006/02/01 03:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!