亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3937 | 回復: 11
打印 上一主題 下一主題

Perl句柄引用的疑問 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-05-25 08:44 |只看該作者 |倒序瀏覽
  1. splutter(\*STDOUT);

  2. sub splutter {
  3.         my $fh = shift;
  4.         print $fh = "her um well a hmmm\n";
  5. }
復制代碼
print $fh = "her um well a hmmm\n"; 中的 “=” 的作用,有與沒有個結(jié)果都一樣,如果文件句柄不是\*STDOUT 而是一個真正的文件的句柄,會怎么樣呢?

請賜教。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
2 [報告]
發(fā)表于 2012-05-25 09:05 |只看該作者
你這里相當于 print ($fh = "her un well a hmmm\n"); 只是個優(yōu)先級問題

論壇徽章:
0
3 [報告]
發(fā)表于 2012-05-25 10:44 |只看該作者
zhlong8 發(fā)表于 2012-05-25 09:05
你這里相當于 print ($fh = "her un well a hmmm\n"); 只是個優(yōu)先級問題


$fh就是一個文件句柄引用,為何要賦值呢?并且我試過要不要“=”,結(jié)果都是一樣。我的關(guān)注點不是優(yōu)先級問題,是為何有這個“=”號。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
4 [報告]
發(fā)表于 2012-05-25 10:58 |只看該作者
on-fire 發(fā)表于 2012-05-25 10:44
$fh就是一個文件句柄引用,為何要賦值呢?并且我試過要不要“=”,結(jié)果都是一樣。我的關(guān)注點不是優(yōu)先級 ...


我把這個代碼 Perl 解釋器是怎么理解的給你寫出來你不就明白了為什么有沒有 '=' 效果一樣。

你明白了為什么結(jié)果一樣不就很直接的發(fā)現(xiàn)這里是 typo,只要傳入的句柄不是 STDOUT STDERR 就立馬露餡了

論壇徽章:
0
5 [報告]
發(fā)表于 2012-05-25 11:33 |只看該作者
zhlong8 發(fā)表于 2012-05-25 10:58
我把這個代碼 Perl 解釋器是怎么理解的給你寫出來你不就明白了為什么有沒有 '=' 效果一樣。

你明白了 ...


感覺應(yīng)該不是typo(打字排版錯誤),如果$fh 不是STDOUT或STDERR,而是一個真正的文件句柄,是否真的需要賦值給它呢?糾結(jié)中。。。
問題是以我現(xiàn)在的知識水平寫不出驗證的例子。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
6 [報告]
發(fā)表于 2012-05-25 12:19 |只看該作者
on-fire 發(fā)表于 2012-05-25 11:33
感覺應(yīng)該不是typo(打字排版錯誤),如果$fh 不是STDOUT或STDERR,而是一個真正的文件句柄,是否真的需要 ...


你對 Perl 的文件句柄怨念很深啊

由于歷史原因文件句柄在只能保存在 Typeglob 里面的,所以任何可以當句柄用的東西除了 tie 實現(xiàn)的假的句柄外都是對 typeglob 的封閉。

typeglob
    比如 open *STDOUT, '<', 'file';
    print {*STDOUT} 'testing';

bareword
    比如 print FH 'something';
    在編譯時會轉(zhuǎn)成對應(yīng)的 typeglob *FH

scalar
   比如 open $fh, '<', 'file'
   在運行時會創(chuàng)建一個匿名的 typeglob,然后 $fh 是這個 typeglob 的引用,關(guān)于句柄的所有操作對 typeglob 的引用都會自動解引用

而 tie filehandle 等于重載了 IO 相關(guān)的操作,和這里的議題無關(guān)。

論壇徽章:
46
15-16賽季CBA聯(lián)賽之四川
日期:2018-03-27 11:59:132015年亞洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49雙魚座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亞冠之布里斯班獅吼
日期:2015-07-13 10:44:56
7 [報告]
發(fā)表于 2012-05-25 12:34 |只看該作者
查了下還可以用字符串,意義同 bareword 只是改成了運行時。

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報告]
發(fā)表于 2012-05-25 12:36 |只看該作者
這個問題很簡單呀。第一個回帖就已經(jīng)說的很清楚了。

樓主說有沒有等號是一個效果,但其實不是一個效果。
有等號的時候,是 print 這個字符串(賦值語句的結(jié)果)到當前選中(select)的文件句柄上去。
沒等號的時候,是 print 這個字符串到 $fh 這個表達式指名的文件句柄上去。

論壇徽章:
0
9 [報告]
發(fā)表于 2012-05-25 20:42 |只看該作者
zhlong8 發(fā)表于 2012-05-25 12:19
你對 Perl 的文件句柄怨念很深啊

由于歷史原因文件句柄在只能保存在 Typeglob 里面的,所以任何可以 ...


謝謝您花時間查資料并回復我。獲益了,看來要好好研究一下Typeglob(類型團)這個概念。

論壇徽章:
0
10 [報告]
發(fā)表于 2012-05-25 20:43 |只看該作者
flw 發(fā)表于 2012-05-25 12:36
這個問題很簡單呀。第一個回帖就已經(jīng)說的很清楚了。

樓主說有沒有等號是一個效果,但其實不是一個效果。 ...


最初的想法與您一致,但覺得沒有必要放個“=” 所以問問,獲益領(lǐng)教了。謝謝。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP