#!usr/bin/perl
@array = ();
open(myfile,"sometext.txt");
while(<myfile>)
{
chomp;
push(@array,[split(" ")]);
}
close(myfile);
print @array[0];
在这个多维数组中,打印第一个数组的元素时,它输出了十六进制的指针引用。如果有人知道如何打印此数组,请发帖说明,将不胜感激。
#!usr/bin/perl
@array = ();
open(myfile,"sometext.txt");
while(<myfile>)
{
chomp;
push(@array,[split(" ")]);
}
close(myfile);
print @array[0];
在这个多维数组中,打印第一个数组的元素时,它输出了十六进制的指针引用。如果有人知道如何打印此数组,请发帖说明,将不胜感激。
你应该使用strict
和warnings
。后者会告诉你访问第一行的方式是$array[0]
。现在,该值是一个匿名数组的引用,你需要对其进行解引用:print "@{ $array[0] }\n";
#!/usr/bin/perl
use strict; use warnings;
my @array;
my $input_file = 'sometext.txt';
open my $input, '<', $input_file
or die "Cannot open '$input_file': $!";
while(<$input>) {
chomp;
push @array, [ split ];
}
close $input;
print "@$_\n" for @array;
在这种情况下,Perl不能完全按照您的要求执行。您需要明确告诉Perl如何打印出您的数组。
尝试这样做:
use Data::Dumper;
print Dumper( $array[0] );
foreach my $element ( @{ $array[0] } ) {
print $element, "\n";
}
print join ' ', @{ $array[0] };
print "\n";
#!/usr/bin/perl
use strict;
use warnings;
my @arrays;
my $fn = 'summary.txt';
open FILE, "<$fn" or die "Error opening file ($!)";
while( my $line = <FILE> ) {
chomp $line;
my @data = split ' ', $line;
push @arrays, \@data;
}
close FILE or die $!;
# print out comma-separated arrays, one per line
foreach my $array (@arrays) {
print join ",", @$array;
print "\n";
}
请看这里。
Perl的多维数组实际上是对数组引用的数组。在Perl中,引用只是一个标量变量。因此,当您尝试打印整个数组时,它仅打印该引用。您需要使用@{}将标量的上下文更改为数组。
#!/usr/bin/perl
@array = ();
open(myfile,"sometext.txt");
while(<myfile>)
{
chomp;
push(@array,[split(" ")]);
}
close(myfile);
print @{@array[0]};
#!/usr/bin/perl
。 - ghostdog74Data::Dumper
。use Data::Dumper;
#...
print Dumper( $array[0] );
print Dumper( @array );
Smart::Comments
的易用性,你只需要创建一个带有三个初始哈希符号的注释即可。use Smart::Comments;
#...
### @array