Perl处理数组的数组示例代码 |
|
代码取自Perl5编程详解 isbn 7-111-07283-9/TP
welcome to my page: http;//skypavilion.yeah.net ---aoa.txt---- 1111|George Hammond|12 Elk Pkwy |GOOD 1112|Susie Wayland|15 Sachs Road |CANCELED 1113|Michael Thurmond|1115 Cherry St |GOOD ---makeaoa.pl---- use FileHandle; use Data::Dumper; sub makeArrayOfArrays { my ($file,$config)=@_; my $return=[]; my (@lines); my $fd = new FileHandle("$file") || die "Couldn't open $file\n"; chomp(@lines=<$fd>); print Dumper(@lines); foreach $line (@lines) { # push(@$return, [split(m"\|",$line)]); push (@$return,getArrayRef($line,$config)); } print "@{$return}\n"; return($return); } sub getArrayRef { my ($line,$config)=@_; my @return; my $ignoreElements=$config->{IGNORE} || []; # print "@$ignoreElements\n"; my @elements=split(m"\|",$line); my $yy=0; foreach (@elements) { push(@return,$_) if (!grep($_==$yy,@$ignoreElements)); $yy++; } return([@return]); } print Dumper(makeArrayOfArrays('aoa.txt',{IGNORE=>[1]})); |