Ako môžem uložiť celý obsah poľa do skalárnej premennej. napr:
my $code = do { local $/; <FILE HANDLE>; };
Funguje to dobre pre popisovače súborov, ale potrebujem to pre pole.
odpovede:
13 pre odpoveď č. 1použitie join
.
my $str = join "", @array;
5 pre odpoveď № 2
Môžete tiež vziať odkaz na pole:
my @array = "a".."z";
my $scalar = @array;
foo( $scalar );
sub foo {
my $array_ref = shift;
for my $f ( @$array_ref ) {
do_something( $f );
}
}
Ktorý prístup zvolíte, záleží na tom, čo sa snažíte dosiahnuť.
1 pre odpoveď č. 3
@arr = ("1","2","3") ;
my $arr = "@arr" ;
print "$arr";
0 pre odpoveď č. 4
Ako filehandle môžete skutočne použiť skalárnu premennú:
my $bigbuffer;
my $f;
open $f, ">", $bigbuffer; # opens $f for writing into the variable $bigbuffer
# do whatever prints fwrites etc you want here