• ベストアンサー

perlの内容なのですがこれで合っていますでしょうか?

print 関数は文字列や数値だけでなく、変数を指定してその値を表示することもできます。 $a=1; 1を$aに代入する。 print $a; 変数$aの値を表示させる。 $a=2; 変数$aに2を代入する。 $b=3; 変数$bに3を代入する。 print "変数\$aに変数\$bを代入\n"; 「変数$aに変数$bを代入」という文字を表示させて改行する。 $a=$b; 変数$bの値を変数$aに代入する。 print "\$a="; 「$a=」を表示させる。 print $a; 変数$aの値を表示させる。 print ",\$b="; 「,$b=」を表示させる。 print $b; 変数$bの値を表示させる。 print "\n"; 改行を表示させる。 実行結果は↓↓↓↓↓↓↓ 変数$aに変数$bを代入 $a=3,$b=3 変数の書き方 文は ; で区切るが、1行に並べることも可能。 $a=2; $b=3; ↓ $a=2; $b=3; 複数の変数に、同時に値を代入することも可能。 $a=2; $b=2; ↓ $a=$b=2;

  • Perl
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

OKです。 print "\$a="; 「$a=」を表示させる。 print $a; 変数$aの値を表示させる。 print ",\$b="; 「,$b=」を表示させる。 print $b; 変数$bの値を表示させる。 print "\n"; 改行を表示させる。 は、 print "\$a=$a,\$b=$b\n"; でもいいと思います。

tosutemu
質問者

お礼

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

その他の回答 (1)

  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

間違ってはいません。 Perlの実行環境があれば、試してみればすぐに理解できる内容ですね。

tosutemu
質問者

お礼

実行してみます。

関連するQ&A

  • Perl あっていますでしょうか?

    " " と ' ' の相違は? ""の内にある変数名は、その値に変換されます。 ''の内にあるものは、そのまま文字列として扱われます。 エスケープシーケンスは "" の内に記述した場合のみです。 $a="Hello"; 文字列Helloを変数$aに代入する。 $b="$a"; 変数$aを変数$bに代入する。 $c='$a'; $aという文字列を変数$cに代入する。 ""の内で""を使うことは出来ません。 ''の内で''も使うことは出来ません。 使うときはエスケープシーケンスを使います。 print "\"Hello\"\n"; 文字列"Hello"を表示させます。 print "'Hello'"; 'Hello'を表示させます。 ""の内で''又は''の内で""を使うことは出来ます。 $a="あいうえお"; 文字列 あいうえお を変数$aに代入する。 print "\n$a\n"; 改行して あいうえお表示して 改行する。 print '\n$a'; 文字列\n$aを表示する。 文字列の結合 . (ピリオド)を使って前後の文字列を連結することが可能です。 $a="Hello"." "."World"; 変数$aに文字列Helloと半角スペースとWorldをつないだものを代入します。 $a="c"x3; 変数$aに文字cを3回つないだものを代入します。 $a="A"; 文字Aを変数$aに代入する。 $b="B"; 文字Bを変数$bに代入する。 $c="C"; 文字Cを変数$cに代入する。 print $a.$bx3.$c; 文字Aと文字Bを3回結合したものと文字Cを表示する。 画面にはabbbcと表示されます。

    • ベストアンサー
    • Perl
  • Perlインクリメントデクリメント

    あっていますでしょうか? インクリメント演算子とデクリメント演算子 インクリメント(加算)演算子は変数の数値を一つ増やす。 デクリメント(減算)演算子は変数の数値を一つ減らす。 ++ インクリメント演算子 変数の値を1増やす $a++ ++$a $aの値を1増やす -- デクリメント演算子 変数の値を1減らす $a-- --$a $aの値を1減らす $a=1; 変数$aに1を代入する print "はじめは$aでした。\n"; $aの代わりに1が入り はじめは1でした。と表示する。 $a++; $aに1を足す。 print "1増えて$aになりました。\n"; $aの代わりに2が入り、1増えて2になりました。 と表示する。 $a--; $aから1減らす。 print "1減って$aに戻りました。\n"; $aの代わりに1を入れて 1減って1に戻りました。 と表示する ↓ 実行結果 ↓ はじめは1でした。 1増えて2になりました。 1減って1に戻りました。 $a++ と ++$a の違い インクリメント演算子、デクリメント演算子には2通りの書き方があります。 ++$a(前置)と$a++(後置) --$a(前置)と$a--(後置) 前置の場合は変数の参照より先に演算が行われます。 後置の場合は変数の参照より後に演算が行われます。 $x=$a=1; 変数$xと$aに1を代入する。 $x=++$a; $aに1を足した後に$xに代入する。$xの値は2になる。 $x=$a=1; 変数$xと$aに1を代入する。 $x=$a++; 変数$aの値を$xに代入した後に$aに1を足す。$xの値は1。 文字もインクリメント出来ます。 $x="A"; "A"を$xに代入する。 $x=++$x; Aから一つ増やしてBにして$xに代入する。 $x="aaa"; "aaa"を$xに代入する。 "aaa"を一つ増やして"aab"を$xに代入する。 ただし、文字のデクリメントはできません。

    • ベストアンサー
    • Perl
  • perl 条件演算子 範囲演算子についてです

    演算子 条件演算子 条件演算子 ?: は条件式の値により、2者のうちのどちらかを選択します。 $a=($x<10)?10:20; 変数$aの値が$x<10という条件において、真であれば:左側の10を選び、偽であれば:右側の20を選ぶ。 $a=10; 変数$aに10を代入する。 $a==5?print "5です。\n":print "5ではありません。\n"; 条件式でaが5であれば:左側の print "5です。\n"を表示します。 条件式でaが5でなければ:右側の print "5ではありません。\n"を表示します。 $a==10?print "10です。\n":print "10ではありません。\n"; 条件式でaが10であれば:左側の "10です。\n" を表示します。 条件式でaが10でなければ:右側の "10ではありません。\n" を表示します。 範囲演算子 範囲演算子 .. は、左側の値から右側の値まで、1つずつ増やした値の集まりです。 値には、半角英数字の数値または文字列が指定できる。 print 3..5; 3 4 5 と表示する。 一応、訳を下に書いたのですが合っていますでしょうか。

  • Perlですが、redoの処理がいまいちわかりません

    # 0から6未満の間で変数$aを1つずつ上げていく for ($a=0;$a<6;$a++){ # もし変数$aが3になればredo文を実行してブロック内の頭に飛べ。 if($a==3){ # 変数$aを表示して改行せよ。 print "$a a \n"; # 変数$aに100を代入せよ。 $a=100; redo; } # 変数$aを表示して改行せよ。 print "$a\n"; } と書いてみたのですが、実行結果が 0 1 2 3 a 100 となりました。 if($a==3)まで戻っていないように思います。redoのブロックが終わりぬけて100が表示されているのでしょうか。

    • ベストアンサー
    • Perl
  • Perlです。サブルーチンについて

    以下の文はあっていますでしょうか。 # サブルーチンを呼び出して引数は 3 とする。 # そして返ってきた戻り値を変数$aに代入せよ。 $a=&a(3); # サブルーチン名aせよ。 sub a{ # $_[0]が引数 3 となりプラス1して変数$bに代入せよ。 $b=$_[0]+1; # 変数$bの内容を戻り値として返せ。 return $b; } # 変数$aの内容を表示せよ。 print "$a";

    • ベストアンサー
    • Perl
  • perlの質問です

    論理演算子 複数の条件を組み合わせて、より複雑な条件を表すときに使います。 &&,and かつ ($a>=10)&&($a<50) $aは10以上かつ50未満 ||,or または ($a==1)||($a==100) $aは1または100 !,not ~ではない !($a==100) $aは100ではない $aは5以上1000未満である (5<=$a)&&($a<1000) $aは0でも1でもない !(($a==0)||($a==1)) $a=0または$a=1ではない !($a==0)&& !($a==1) $=0ではなく、$b=1でもない ($a!=0)&&($a!=1) $a≠0かつ$a≠1である 条件付き実行 条件式&&処理 条件式が真なら処理を行い、 偽なら処理を行いません。 条件式||処理 条件式が真なら処理を行わず、 偽なら処理を行います。 $a=4; 変数$aに4を代入する。 ($a<10)&&(print "\$aは10未満\n"); 変数$aに4を入れると条件式が真なので $aは10未満 を表示させる。 ($a<10)||(print "\$aは10以上\n"); 変数$aに4を入れてくらべると条件式は真なので処理は行いません。 $a=($a!=0)&&($a*2); ($a==10)&&(print "\$aの値は10\n"); 変数$aは8なので条件式は偽であるため処理は行われない。 ($a !=8)||(print "\$aの値は8\n"); 変数$aは8なので条件式は偽のため $aの値は8 を表示させる。 あっていますでしょうか。 それから $a=($a!=0)&&($a*2); の意味がわかりません。 実行してみたら一応動きます。

  • perlの型と8進数、10進数

    ある文字列からsubstrで3桁の数値を切り取り、計算に使いたいのですがゼロ詰めの数値の場合8進数になると思っていたのですが、文字列の場合は10進数の数値になります。 これは仕様でしょうか? perlは型がないので、AもBもCも同じ値だと思っていましたが、 そのあたりについて詳しい方、違いを知っている方教えて頂けますか? #-- A -- my $s = "007008009010"; print int( substr($s, 0, 3) ) . "\n"; print int( substr($s, 3, 3) ) . "\n"; print int( substr($s, 6, 3) ) . "\n"; print int( substr($s, 9, 3) ) . "\n"; print; #-- B -- print int("007") . "\n"; print int("008") . "\n"; print int("009") . "\n"; print int("010") . "\n"; print; #-- C -- print int(007) . "\n"; # 7 #print int(008) . "\n"; #print int(009) . "\n"; print int(010) . "\n"; # 8

    • ベストアンサー
    • Perl
  • 書いた文章を改行など含めて文字列として変数に代入するには?

    あいうえお かきくけこ さしすせそ を変数に文字列として代入したいのですが、 my $string = "あいうえお\nかきくけこ\nさしすせそ\n"; などと改行文字を自分で入れたりといったことをせず、 変数に文字列として代入する方法を教えてください。 print <<END; あいうえお かきくけこ さしすせそ END という方法があるのは分かったのですが。。。

    • ベストアンサー
    • Perl
  • [Perl] Pack関数について教えてください。

    こんにちは。 下記は、pack関数のサンプルスクリプトですが、 なんでそのような結果になるのか、よくわかりません。どなたか教えていただけますか。 print "文字列を入力してください:"; $string = <STDIN>; chomp ($string); $length = length($string); print "数値を入力してください:"; $number = <STDIN>; chomp ($number); # Do Pack! $packed = pack("A${length}i", $string, $number); print "パック文字列: $packed\n"; --- 結果 --- 文字列を入力してください:perl 数値を入力してください:100 パック文字列: perl

    • ベストアンサー
    • Perl
  • Perlで実行は確認できましたただし・・・

    printfの書式指定 書式を指定してデータを出力できる。 printf("1"); 文字列をそのまま表示 printf("%d",1); リテラルを書式指定して表示 $a=1; printf("%d",$a); 変数を書式指定して表示 %dは整数を表示する書式指定です。 %d自身は表示されません。 書式 %d: 整数(少数点の付いていない数)を10進数で表示→ 2,3,-3 %x: 整数を16進数で表示→ 1,a %X: 整数を16進数で表示→ 1,A %f: 実数(少数点の付いている数)を表示→ 1.00000,0.1111 %c: 整数をASCIIコード表に対応する文字で表示→ a,A %S: 文字列を表示→ A,ABC,あ 桁数 printf("%4d",25); 空白を含めて4文字で表示 _ _ 2 5 printf("%04d",25); 0を使って4文字で表示 0 0 2 5 printf("%.3f",3.14); 少数点以下を3文字で表示 3 . 1 4 0 $a=10; 変数$aに10を代入。 $b=3.14; 変数bに3.14を代入。 printf("%10d\n",$a); 10を表示。 printf("X%8.5f\n",$b); X 3.14000を実数として表示。 printf("-" x 10 . "\n"); - を10回表示させる。 printf("%10f\n",$a*$b); $aと$bをかけたものを実数として表示する。 とありますが printf("%10d\n",$a); の %10 の意味が良く分かりません。 printf("X%8.5f\n",$b); の %8.5 の意味が良く分かりません。 printf("%10f\n",$a*$b); の %10 の意味が良く分かりません。 printf("X%8.5f\n",$b); の実行結果は左に一桁ずれていますなぜですか。 ご教示お願い致します。

    • ベストアンサー
    • Perl

専門家に質問してみよう