• ベストアンサー

算術子

初心者でperl勉強中です。なぜ下のプログラムでブラウザ上に「320320」と表示されるのですか?2つ目のprint文が320になる仕組みがわからないのでお願いします。 $aa=16; $bb=32; $cc=2; $aa=$bb*10; print"$aa"; ($cc=$aa)*10; print"$cc<br>\n"; ブラウザ上 320320

質問者が選んだベストアンサー

  • ベストアンサー
  • hirdy
  • ベストアンサー率83% (5/6)
回答No.1

最初の$aa=16;の16はすぐに$bb*10で320が代入されるので意味はないですね。 初めのprintで$aaこと320が出力されます。 問題は($cc=$aa)*10;ですね。 まず$cc=$aaで320が代入されます。 その後$cc*10と計算されますが、代入先がありませんので$ccの値は320のままです。 次のprintでまた$ccこと320が出力され 320320<br> となってしまいます。 $cc = ($cc = $aa) * 10; とすれば 3203200<br> と出力されるはずです。

DINO-PIE
質問者

お礼

代入先がないということが盲点でした。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

#1さんの通りです。 http://okweb.jp/kotaeru.php3?q=1631300 自分で考えて分からないから質問したと思ってますが いかんせん2発目がはやすぎです。(質問) 参考までに下記で勉強してみてください。

参考URL:
http://www.kent-web.com/perl/index.html
DINO-PIE
質問者

お礼

勉強します。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 初歩的なCGIですが

    #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>perlテスト</TITLE></HEAD>\n"; print "<BODY>\n"; print "本文1<BR>\n"; print "本文2<BR>\n"; print "</BODY>\n"; print "</HTML>\n"; 上記プログラムをFTPサーバにアップロードして、perlプログラム内では正しい結果が出たのですが、ブラウザ上で確認したら、htmlのタグが除かれた状態のソースが出てきました。  正しい結果をブラウザ上で表示させるにはどうすればいいのでしょうか?教えてください。

    • ベストアンサー
    • CGI
  • 算術演算子

    以下のプログラミングでなぜブラウザ上には「2*256=512」と表示されるのですか?1列目と2列目に同じ$suuzi1がある意味もわからないのですが解説お願いします。 $suuzi1=1; $suuzi1=2; $suuzi2=256; $suuzi++; $suuzi3=$suuzi1*$suuzi2; print"$suuzi1*$suuzi2=$suuzi3<br>\n"; ブラウザ上 2*256=512

    • ベストアンサー
    • Perl
  • ヒアドキュメントが表示されない

    perl初心者です・・ perlを本で学習してる最中なのですが、print文だとブラウザに表示されるのに、ヒアドキュメントで記述するとブラウザに表示されません。 (AN HTTPDサーバーを使用して、起動させています。) 例えば、 #!/usr/bin/perl print "content-type: text/html\n\n"; print "<html><body>"; print "ああ"; print "<br>"; print ("いい","うう","ええ","です"); print "<br>"; print "</body></html>"; ↑この記述だとブラウザに表示されますが、 #!/usr/bin/perl print <<HTML_DOCUMENT; content-type: text/html <html> <body> ああいいううええです </body> </html> HTML_DOCUMENT ↑このようにヒアドキュメントに書き換えてブラウザで表示させると、 サーバーが見つかりませんと表示されます。 ちなみに、本に添付してあるCD-ROMの回答ソースをコピペして表示させてみましたが、同様にサーバーが見つかりませんと表示されます。 ですので、文法には間違いはないと思うので、ANHTTPDサーバーに原因があるのではないかと思われるのですが、何か、ANHTTPDサーバーに設定をする必要があるのでしょうか? 教えてください。 ちなみに、環境windowsXPです。

    • ベストアンサー
    • Perl
  • ブラウザ表示されません大変困っています

    perlの勉強を始めていますが、早速問題発生しました。 cygwinインストトール AN HTTPインストール ↓プログラムソース #!/cygwin/bin/perl print "contenttype: text/html\n\n"; print "hello,world"; と出力しましたが、ブラウザに表示されません。 有益な情報を探しましたが見つかりませんでした。 プログラムのミスでしょうか? 的確なアドバイス教えてください。 返信宜しくおねがいします。

  • 何故?Forbidden

    infoseek/iswebを利用している者です。 FFFTPを使用し、ASCIIモードでcgi-binフォルダに転送、 ブラウザ上からiswebのファイルマネージャーにアクセスし、 アップロードしたファイルを閲覧するとForbiddenエラーになります。 kent-webで配布されているperlのバグチェックのツールを使用すると SyntaxOK と出ています。 こういうようなプログラムです。 #!/usr/local/bin/perl use strict; my $hensu=100; if($hensu == 100){print "hensu = $hensu<br>\n";} my $hensu2 = 'aa'; my $hensu2_1 = $hensu2 + 1; print "hensu2 = $hensu2_1<br>\n"; my $hensu3 = '10A0'; my $hensu3_1 = $hensu3+1; print "hensu3_1 = $hensu3_1<br>\n"; 一体何がおかしいのか分かりません。 どなたか回答お願いします。

    • 締切済み
    • CGI
  • PHP 改行

    phpをはじめたばかりの初心者です。 <?php print('1行目の分'); print("\n"); print('2行目の分'); ?> と打ち、そのファイルをアップロードし、ブラウザで確認しても 改行がされていませんでした。 調べてみると、htmlで表示させるには<br />が必要みたいな事があったので、 print("\n"); を print("\n<br />"); と、<br />を適当に入れてみたら改行されましたが 何か釈然としません。 であればそもそもPHPの改行を表すprint("\n");は何のためにあるのでしょうか? print("\n");だけでは改行表示がされないのは、どういう風に考えればいいのでしょうか? その考え方を教えて下さい。 print("\n");は単体で使う事はあるのでしょうか?

    • ベストアンサー
    • PHP
  • CGIにおいて、エンコード・文字化けの対処方法

    以下のようにCGIを記述しております。(本日勉強したてで間違いだらけでしたら申し訳ございません。) ============= #!/usr/local/bin/perl print "Content-type: text/html; charset=EUC-JP\n"; print "\n"; print "<html>\n"; print "<title>Hello CGI</title>\n"; print "<body>\n"; print "<h1>Hello CGI!</h1>\n"; print "<hr>\n"; print qq( 上記のCGIファイルのメッセージは、次のように記述しました。<br><br> #!/usr/local/bin/perl<br><br> print "Content-type: text/html\\n";<br> print "\\n";<br> print "&lt;html&gt;\\n";<br> print "&lt;title&gt;Hello CGI&lt;/title&gt;\\n";<br> print "&lt;body&gt;\\n";<br> print "&lt;h1&gt;Hello CGI!&lt;/h1&gt;\\n";<br> print "&lt;/body&gt;";<br> print "&lt;/html&gt;";<br><br> ); print "</body>"; print "</html>"; =========== 以上をIE7で表示しますと、エンコードが西ヨーロッパ言語になって文字化けを起こしてしまいます。 何か記述の仕方が間違っているのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • perl で環境変数を表示できない

    perlの初心者です。下記のCGIを実行しましたが、全く表示しません。 最初の「環境変数」と言う文字も表示しません。 どこか初歩的なエラーがあると思いますが、わかりませんので質問させていただきます。 --- #!/usr/local/bin/perl print "Content-type: text/html", "\n\n"; print "<HTML><BODY>", "\n"; print "<H1>環境変数</H1><HR>", "\n"; foreach my $key( keys %ENV ){ print "$key: $ENV{$key}<BR>", "\n"; } print "<HR>", "\n"; print "</BODY></HTML>", "\n";

    • ベストアンサー
    • Perl
  • ブラウザが表示されません

    perl初心者です。これから勉強しようとしてます。 ですが、プログラムを打つ前に早速難関が・・・ perlをブラウザで表示しようとしてるのですが、出来ません!!(><) 本の通りに次のような作業をしました。 __________________ 1、ActivePerlのインストール 2、AN HTTPDのインストール 3、試しにcgi-binフォルダ内にhello.plの作成。 内容___________ #!/usr/bin/perl print"content-type: text/html\n\n"; print "Hello,world!"; _______________ と、打ち、コマンドプロンプトでperl hello.plと、入力すると、 content-type: text/html Hello,world! と、出力されます。 ですが、本の通り、ブラウザのアドレスバーに ”​http://localhost/cgi-bin/hello.pl​” と、入力すれば、Hello,world!と、表示されるはずなのに されません。 ちなみに、 サーバーが見つからないか、DNS エラーです。 と、表示されます 同じような質問があり、そこでの対策も試してみましたが、 どれも効果がありません。 初歩的な質問で申し訳ありません。 しかし、これからperlを勉強するに当たって避けては通れない道だと 思い、質問しました。 解決策以外にも他の方法でブラウザで表示する方法が あれば、そちらも試してみたいと思ってますので、 そちらのほうも、紹介していただけるなら、よろしくお願いします

  • ブラウザが表示されません!!!!!!

    perl初心者です。これから勉強しようとしてます。 ですが、プログラムを打つ前に早速難関が・・・ perlをブラウザで表示しようとしてるのですが、出来ません!!(><) 本の通りに次のような作業をしました。 __________________ 1、ActivePerlのインストール 2、AN HTTPDのインストール 3、試しにcgi-binフォルダ内にhello.plの作成。 内容___________ #!/usr/bin/perl print"content-type: text/html\n\n"; print "Hello,world!"; _______________ と、打ち、コマンドプロンプトでperl hello.plと、入力すると、 content-type: text/html Hello,world! と、出力されます。 ですが、本の通り、ブラウザのアドレスバーに ”​http://localhost/cgi-bin/hello.pl​” と、入力すれば、Hello,world!と、表示されるはずなのに されません。 ちなみに、 サーバーが見つからないか、DNS エラーです。 と、表示されます 同じような質問があり、そこでの対策も試してみましたが、 どれも効果がありません。 初歩的な質問で申し訳ありません。 しかし、これからperlを勉強するに当たって避けては通れない道だと 思い、質問しました。 解決策以外にも他の方法でブラウザで表示する方法が あれば、そちらも試してみたいと思ってますので、 そちらのほうも、紹介していただけるなら、よろしくお願いします。