- 论坛徽章:
- 0
|
本帖最后由 求浩871227 于 2014-08-04 16:37 编辑
来自论坛牛人pitonas的当时帮助提供的程式:
while (<DATA>) {
my @a = map split, $_, ~~<DATA>, ~~<DATA>;
say "@a[ 0, 2 ]";
say "@a[ 4, 1 ]";
say "@a[ 3, 5 ]";
}
__DATA__
1 4
2 5
3 6
7 10
8 11
9 12
13 16
14 17
15 18
19 22
20 23
21 24
25 28
26 29
27 30
“my @a = map split, $_, ~~<DATA>, ~~<DATA>;”
pitonas再次细心解答(太感谢!!!):
# in scalar context:
my $a = <DATA>; # read only one line
# in list context:
my @a = scalar <DATA>; # read only one line
my @b = ~~ <DATA>; # read only one line
my @c = <DATA>; # read all lines
my @a = map { ... } ... # list context
# 这些相同。
my @a = map split, $_, ~~<DATA>, ~~<DATA>;
my @a = map { split } $_, ~~<DATA>, ~~<DATA>;
my @a = map { split } $_, scalar <DATA>, scalar <DATA>;
my @a = map { split /\s+/ } $_, scalar <DATA>, scalar <DATA>;
my @a = map { split /\s+/, $_ } $_, scalar <DATA>, scalar <DATA>;
|
|