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 № 1Benutzen 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