[問題] 請問變數設定為什麼會出現多餘字元

看板Perl作者 (qimog)時間11年前 (2014/06/16 22:07), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
請問板上有無高手能夠替小弟解惑,為何以printf設定變數時,該變數會多出"1"字元。 以下為實例 for (0..$Nofile-1) { $head=printf ("%04s_%s", $_+1, $Tar_file{$EinO[$_]}); print "$head\n"; } 得到結果為 0001_BHandHLYP.W4t.R1-4.out1 0002_BHandHLYP.W4t.R1-1.out1 0003_BHandHLYP.W4t.L3-2.out1 0004_BHandHLYP.W4t.L1-1.out1 然以 for (0..$Nofile-1) { printf ("%04s_%s\n", $_+1, $Tar_file{$EinO[$_]}); } 則得到 0001_BHandHLYP.W4t.R1-4.out 0002_BHandHLYP.W4t.R1-1.out 0003_BHandHLYP.W4t.L3-2.out 0004_BHandHLYP.W4t.L1-1.out 請問,為什麼存入變數會在變數字串末尾多個"1"? 由於小弟一定要將之設定為變數,之後用作於排序和重新命名用。 所以希望了解這個問題的高手們,可以告訴我為什麼會多個1,及如何解決呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.167.119.224 ※ 文章網址: http://www.ptt.cc/bbs/Perl/M.1402927671.A.A27.html

06/16 22:21, , 1F

06/16 23:31, , 2F
非常感謝您的幫助 ^^
06/16 23:31, 2F

06/17 09:38, , 3F
你這不就把 printf 的 return value 拿出來印了嗎 XD
06/17 09:38, 3F

06/17 19:04, , 4F
樓上說得是
06/17 19:04, 4F
文章代碼(AID): #1Jdleted (Perl)
文章代碼(AID): #1Jdleted (Perl)