我有一个我想按字段解析的数据列表。
asdlfj sd;lfkjas as;dlkfj josh
ds;lakfjsd;lk
asdlfj sd;lfkjas as;dlkfj josh
safkl;j
sdlakfjsd;
asdlfj sd;lfkjas as;dlkfj josh
asdfl;kj
1 sd;lfkjas as;dlkfj josh
2 sd;lfkjas as;dlkfj jim
3 sd;lfkjas as;dlkfj joe
$my_names = qr/joe|jim|josh/
$my_numbers = qr/[0-9]/;
while (<>) {
unless($F[3] eq $my_names && $F[0] == $my_numbers)
{
print;
}
}
我想要做的是打印,除非每个第4个字段[4]等于$my_names
或除非每个第一个字段[0]等于$my_numbers
。
我不太确定如何从我文件中的字段创建数组。
我猜这可能与“加入”功能有关,但我不太确定。顺便说一句,这些字段由制表符分隔。
答案 0 :(得分:0)
您需要split
,这与join
相反。
while (<>) {
my @F = split; # with no arguments, means: split /\s+/, $_
...