如何将数组的全部内容存储到标量变量中。 例如:
my $code = do { local $/; <FILE HANDLE>; };
这适用于文件句柄但我需要这个数组。
答案 0 :(得分:13)
使用join
。
my $str = join '', @array;
答案 1 :(得分:5)
您也可以参考数组:
my @array = 'a'..'z';
my $scalar = \@array;
foo( $scalar );
sub foo {
my $array_ref = shift;
for my $f ( @$array_ref ) {
do_something( $f );
}
}
您采取的方法取决于您要完成的任务。
答案 2 :(得分:1)
@arr = ("1","2","3") ;
my $arr = "@arr" ;
print "$arr";
答案 3 :(得分:0)
您实际上可以使用标量变量作为文件句柄:
my $bigbuffer;
my $f;
open $f, ">", \$bigbuffer; # opens $f for writing into the variable $bigbuffer
# do whatever prints fwrites etc you want here