作者jakechou (jakechou)
看板Perl
标题[问题] 新手鸟问
时间Sat Apr 9 09:57:09 2011
sorry我是perl新手,这些问题总是让我用perl parse档案的时候
花超多时间debug 夸张到用手改搞不好都比较快了 XD
请问chomp为什麽要回传"砍掉的字元数"? 不知道有没有实用的例子
因为以新手来说 回传剩下的字串($_)不是很直观吗?
如果我要处理chomp过的结果 我除了用$line = $_ 这样外
有别的function可以使用吗
我用hash table
%table = ();
$table{"aaa.bbb"}=0;
没问题
但是 print $table{"aaa.bbb"} 会出错 好像要${table{"aaa.bbb"}}才行
这是为什麽阿?
foreach (my $iter) @array {}
我知道这里出了两个问题 第一个是 (my $iter)要把括号去掉
但我不解为什麽learning perl里说 只要不影响解读的括号都可以加或不加
这里加了括号会变甚麽意思? 另外 @array的 list context本来不就是他所含的
list本身吗 为什麽我一定要加 (@array)??
请问$_是global variable吗
那我用 foreach (@array1) {
foreach (@array2) {
print $_;
}
}
但是我又想print @array1的东西,请问我该怎麽办? 有甚麽方法可以知道我现在的$_,
是指哪个scope里的$_吗
谢谢愿意回答的大大!!我觉得这些好像是重要的观念问题,可是我在网路上找到
的答案都支离破碎的,都快要疯掉了~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 66.68.104.202
1F:推 scwg: chomp($line = $_) 04/09 10:22
2F:推 scwg: foreach 後面的括号是语法的一部分, foreach(my $iter) 会被 04/09 10:23
3F:→ scwg:认为 my $iter 是要跑遍的 list. 04/09 10:23
4F:→ scwg:foreach 用到 $_ 比较像 local $_; 出了范围就恢复原值, 不过 04/09 10:25
5F:→ scwg:没办法去得外面 scope 的 $_ 04/09 10:25
6F:→ scwg: 取 04/09 10:26
7F:→ jakechou:hash的问题用''好像可以解决??? 04/09 11:02
8F:→ jakechou:谢谢大大 foreach的问题 好像"串列问题"讨论串有 04/09 11:04
9F:→ jakechou:可是我原来看不懂@@ 04/09 11:04
10F:推 scwg:hash 的问题我无法重现, 看你要不要贴完整程式码? 04/10 15:16