/ / Wie kann ich den gesamten Inhalt eines Perl-Arrays in einer skalaren Variablen speichern? - Perl

Wie kann ich den gesamten Inhalt eines Perl-Arrays in einer skalaren Variablen speichern? - Perl

Wie kann ich den gesamten Inhalt eines Arrays in einer skalaren Variablen speichern? z.B:

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

Das funktioniert gut für Dateihandles, aber ich brauche das für ein Array.

Antworten:

13 für die Antwort № 1

Benutzen join.

my $str = join "", @array;

5 für die Antwort № 2

Sie können auch auf das Array verweisen:

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

my $scalar = @array;

foo( $scalar );

sub foo {
my $array_ref = shift;

for my $f ( @$array_ref ) {

do_something( $f );

}
}

Welcher Ansatz Sie wählen, hängt wirklich davon ab, was Sie erreichen wollen.


1 für die Antwort № 3

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

0 für die Antwort № 4

Sie können eine skalare Variable tatsächlich als Dateihandle verwenden:

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