2017-06-23 13 views
-1

perlを使用してprint文を変数名に格納することはできますか?print文の出力をperlを使って新しい変数名に格納する方法は?

は、ここに私のprint文、私は新しい変数で、このprint文の出力を保存したい

print "$fixed\n"; 

です。それは可能ですか?

+2

既に '$ fixed'に格納されています。あなたは何をしようとしているのですか? –

+0

または 'print" $ fixed \ n ";'これを変数に保存しますか?どうして? – AbhiNickz

+0

ええ、すでに保存されています。\ nと一緒にprintステートメントを使用しました。変数printステートメント\ nを新しい変数に保存することができます。@ AruneshSingh –

答えて

1

だけではなく、印刷の変数に代入:、より複雑なシナリオについては

my $var = "$fixed\n"; 

sprintfを使用し、例:

my $var = sprintf("%02d - %s - %f", 1, $fixed, 3.1415); 
1

すでに受け入れ見てきた答えはで物事を行いますあなたが求めていたものとは少し違っています。あなたは尋ねました:

print文の出力を新しい変数名にperlを使って保存する方法は?

答えは、いくつかのデータを変数に格納してから、変数の内容を出力します。それは同じ効果がありますが、厳密に言えば、あなたが求めたものではありません。

しかし、Perlで何かできます。印刷されたデータを格納するためのスカラー変数の設定を含む。

#!/usr/bin/perl 

use strict; 
use warnings; 

my $output; 

# Call open(), giving it a reference to a scalar, instead of 
# a filename. 
open my $fh, '>', \$output or die $!; 

# Now anything printed to that filehandle, is appended to 
# your scalar variable. 
print $fh "this is\na test\n"; 

# ... which you can print to STDOUT 
print $output; 

それはあなたのスカラファイルハンドル、デフォルトの出力ファイルハンドルを作るためにselect()を使用することにより、さらに一歩これを取ることが可能です。

select $fh; 

print "Something"; 
関連する問題