perl面試例題一

Perl 第一階段學習總結
數組

1 use strict use warnings 的做用?函數

use strict 什麼場合要用 use strict學習

當你的程序有必定的行數時,尤爲是在一頁放不下時,或者是你找不到發生錯誤的緣由時。spa

爲何要用 use strictci

衆多的緣由之一是幫你尋找由於錯誤拼寫形成的錯誤。好比錯誤使用了'$recieve_date' 變量,但實際上你在程序中已聲明的是 '$receive_date' 變量,這個錯誤就很難發現。一樣,use strict 迫使你把變量的範圍縮到最小,使你沒必要擔憂同名變量在程序的其它部份發生不良做用。(儘管這是 my 的功能,可是若是你使用 use strict 的話,它會強迫你用 my 聲明變量,來達到上述目的)。hash

 

指定了use warnings;的話perl在編譯的時候會將警告信息打印出來,不然不打印。編譯

 

2 perl註釋的方法?ast

 (1)‘#’用於註釋單行test

 (2) 註釋一段變量

=cut;      #註釋=cut 包圍的代碼

 

 

 

  =cut;

  Or

  <<TXT;    #註釋<<TXT…TXT包圍的代碼

 

 

 

TXT

Or

  __END__    #註釋此行以後的全部代碼

 

 

 

  Or

  __DATA__    #可將__DATA__以後的代碼做爲程序的參數列表

 

 

 

 

3 單引號和雙引號的區別?

  單引號不能內插且只能轉義’\’,’’’兩個字符。

  雙引號能夠內插和轉義全部字符。

 

4 print @array;print 「@array」;print @array . 「\n」有什麼區別?

 

  Eg:my @array = qw/a b c/;

     Print @array;         # abc

     Print 「@array」      # a b c  「內插時,會在數組各個元素之間自# 動添加分隔用的空格(小駱駝書原話)」

Print @array . 「\n」 # 3   ‘.’是標量操做符,因此@array

#標量上下文。數組的名稱在列表上下文中

#產生元素列表,在標量上下文中返回數組中

#元素的個數。

 

5 while(<>) forreach(<>)的區別?

While(<>)一次處理一行輸入。

Foreach(<>) 一次處理所有輸入。

 

6 鑽石操做符的做用?

 <> 的是另外一種讀取輸入的方法,它是行輸入操做符(<STDIN>) 的特例,它並不專門從鍵盤那獲取輸入,而還能夠從用戶指定的位置讀取(實際上是@ARGV列表指定的文件)

Eg: while(<>){print 「$_」;}    ##保存爲test

運行程序

$ perl test   ##會在標準輸入中讀取一行輸入

$perl test f1.txt   ###會在文件’f1.txt’中逐行讀取內容

 

7 聲明和使用引用的方法?

標量的引用

 $a = 10;

 $ra = \$a;  ###聲明標量引用

 Print $$ra;  ##使用標量的引用

數組的引用

 @a = qw/a b c/;

 $ra = \@a;   ###聲明數組引用

  $ra = [‘a’,’b’,’c’];  ##匿名引用

 Print @$ra[1];  ##使用數組的引用

 Print $ra->[1];

哈希數組的引用

  %a = (a,A,b,B,c,C);

  $ra = \%a;    ##聲明哈希引用

  $ra = {‘a’,’A’,’b’,’B’,’c’,’C’};  ##匿名引用

  Print %$ra{‘a’};     ##使用哈希的引用

  Print $ra->{‘a’};

 

 

 8 怎麼查看引用的類型?

 

使用ref函數。Ref函數會先判讀標量變量是否包含一個引用,而後再判讀指向什麼類型的引用。

$a = 10;        ## ref($a) 返回false

$ra = \$a;      ##ref($ra) == ‘SCALAR’

$rarray = [‘a’,’b’,’c’];    ##ref($array) == ‘ARRAY’;

$rhash = {‘a’,’A’,’b’,’B’,’c’,’C’}; ##ref($rhash) == ‘HASH’

相關文章
相關標籤/搜索