解決済み

シングルクォート、ダブルクォート使用方法

  • 困ってます
  • 質問No.973986
  • 閲覧数1099
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (1/1)

初心者で勉強中です。
相当素人な質問なんですがよろしくお願いします。

Perlで使われる、シングル、ダブルクォートの自分の認識なのですが
・ダブルクォートは変数やエスケープ文字を評価してくれる。
・シングルはそのまま文字列として出力される。

ということだと思っているのですがただ、『print』の後の表示させる文字列、数字などがシングルで囲まれていたりダブルだったり、またどちらも使わない場合などあるのですがこの使い分けはどのようにすれば良いかわかりません。
単に文字列の場合でもダブルクォートで囲っていたりと・・・

以下の例ですと

use strict;


print "Content-type: text/html\n\n";

my $hensu = 1;

print $hensu."<br>\n";

$hensu = "moji";

print "$hensu";


上記をブラウザ出力すると

moji
となるということなのですが、数字であればダブルクォートで囲まなくても展開されるということでしょうか?また後ろの2行の
$hensu = "moji";

print "$hensu";
とは、どちらもダブルクォートで囲む必要があるのでしょうか。


法則性についてどなたか分かるかた、おしえていだだけますでしょうか。

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

  • 回答No.1

ベストアンサー率 51% (279/544)

ダブルクォーテーションは展開あり。
シングルクォーテーションは展開なし。

と言う違いがあるので、

$hensu = "moji";

は、

$hensu = 'moji';

でも問題ありません。

print "$hensu";

は、

print '$hensu';

とすると、別の意味になります。具体的には、$hensu の内容が表示されるのではなく、$nunsu と言う文字列が表示されます。

個人的には、展開が必要な場合のみダブルクォーテーションを利用し、それ以外の時はシングルクォーテーションを利用する様にしています。
お礼コメント
taka1992

お礼率 100% (1/1)

ありがとうございました。
分かったのですがまだ、どうもよく分からないことが多いです。
新しい内容を掲載させてもらっています。
よろしければご確認していただけるととてもありがたいです・・・
あつかましいですがよろしければお願いいたします。
投稿日時 - 2004-08-25 15:21:07
感謝経済、優待交換9月20日スタート
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ