/ / Jak mogę zapisać całą zawartość tablicy Perla do zmiennej skalarnej? - perl

Jak mogę przechowywać całą zawartość tablicy Perla do zmiennej skalarnej? - perl

Jak mogę przechowywać całą zawartość tablicy do zmiennej skalarnej. na przykład:

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

Działa to dobrze dla uchwytów plików, ale potrzebuję tego dla tablicy.

Odpowiedzi:

13 dla odpowiedzi nr 1

Posługiwać się join.

my $str = join "", @array;

5 dla odpowiedzi nr 2

Możesz także odwołać się do tablicy:

my @array = "a".."z";

my $scalar = @array;

foo( $scalar );

sub foo {
my $array_ref = shift;

for my $f ( @$array_ref ) {

do_something( $f );

}
}

To, jakie podejście podejmiesz, zależy naprawdę od tego, co próbujesz osiągnąć.


1 dla odpowiedzi nr 3

@arr = ("1","2","3") ;
my $arr = "@arr" ;
print "$arr";

0 dla odpowiedzi nr 4

W rzeczywistości możesz użyć zmiennej skalarnej jako uchwytu pliku:

my $bigbuffer;
my $f;
open $f, ">", $bigbuffer; # opens $f for writing into the variable $bigbuffer
# do whatever prints fwrites etc you want here