Як я можу зберігати весь вміст масиву до скалярної змінної. наприклад:
my $code = do { local $/; <FILE HANDLE>; };
Це добре працює для файлів ручки, але мені це потрібно для масиву.
Відповіді:
13 за відповідь № 1Використовуйте join
.
my $str = join "", @array;
5 для відповіді № 2
Ви також можете взяти посилання на масив:
my @array = "a".."z";
my $scalar = @array;
foo( $scalar );
sub foo {
my $array_ref = shift;
for my $f ( @$array_ref ) {
do_something( $f );
}
}
Який підхід ви насправді залежить від того, що ви намагаєтесь виконати.
1 для відповіді № 3
@arr = ("1","2","3") ;
my $arr = "@arr" ;
print "$arr";
0 для відповіді № 4
Ви дійсно можете використовувати скалярну змінну як файловий інструмент:
my $bigbuffer;
my $f;
open $f, ">", $bigbuffer; # opens $f for writing into the variable $bigbuffer
# do whatever prints fwrites etc you want here