perl學習筆記

來源:互聯網
上載者:User

標籤:perl   shell   

1)perl是非常靈活的,聽到有人說,看perl代碼最不爽的一點就是:一個判斷條件可放在一個語句後面,例如:

my $value = "value" if $needvalue;
有時,如果前面的語句很長,然後要if語句就那麼短小地放在後面,若沒注意看後面的if語句,就可能會理解錯誤,這點有時也會讓審代碼的頭疼。

2)最近聽到一位前輩說,最好是不要用unless,因為對於沒有學過perl的人,這個可能不容易理解,盡量用上perl具有的一些程式設計語言比較通用的if,這樣對於任何看代碼的人都是比較有好處的,好吧,記得My Code裡面有幾處unless,就這樣讓它們留在那裡把。

3)這陣子剛寫perl,對於perl也只是只能用,不能靈活使用,記得,有一次,我用perl來擷取shell執行的結果:

my $ret = `ls -al | awk 'NR==2' | awk '{print $3}' `;

看得出錯誤嗎,這個是不能得到想要的結果的, `是不是和‘很相似,但問題是,我要擷取的是第2行第3列的結果,但是,我就是只能得到第2行的,這讓我鬱悶了一會,明明在shell裡是可以的,但是怎麼在perl裡調用就不行了?難道哥的人品太差。。。於是,去測了一下管道有沒有問題,沒有——靠,那麼神奇,終於,在一天,看了其他前輩寫的代碼,

my $str = "ssh root\@$ip";

才發現,原來少了一個"\",perl就直接把 $3 當做變數處理了,真是任性,不要以為``裡也可以和‘‘裡一樣任性。

perl學習筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.