如何将Perl数组的全部内容存储到标量变量?

时间:2010-01-25 07:37:33

标签: perl

如何将数组的全部内容存储到标量变量中。 例如:

my $code = do { local $/; <FILE HANDLE>; };

这适用于文件句柄但我需要这个数组。

4 个答案:

答案 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