perl脚本中的$_变量
发表于 : 2012-01-02 21:34
刚开始学习perl,对$_变量有些小疑惑。
我有一个文件emp.lst如下
我想提取显示第一列的数据。我用如下代码:
我的想法是,split()函数默认拆分$_变量。然后自动填充数组@_,那么此时$_[0]存的就应该是第一列的数字了。
但是结果输出是空白行。
然后我改了代码如下:
这次我得到了正确的答案。我不知到我第一次的代码为什么会错误。我的参考书上说的是:split()函数如果没有显式的赋给变量,那么默认把拆分后的字段赋值给@_数组。我有什么地方用的不对吗?
我有一个文件emp.lst如下
代码: 全选
2233|a.k. shukla |g.m. |sales |12/12/52|6000
9876|jai sharma |director |production|12/03/50|7000
5678|sumit chakrobarty|d.g.m. |marketing |19/04/43|6000
2365|barun sengupta |director |personnel |11/05/47|7800
5423|n.k. gupta |chairman |admin |30/08/56|5400
1006|chanchal singhvi |director |sales |03/09/38|6700
代码: 全选
#!/usr/bin/perl
while(<>){
split(/\|/);
print "$_[0]\n";
}
但是结果输出是空白行。
然后我改了代码如下:
代码: 全选
#!/usr/bin/perl
while(<>){
@str=split(/\|/);
print "$str[0]\n";
}