ตัวแปร Hash ใน Perl

posted on 14 Sep 2009 18:28 by geneticblogger

ตัวแปร Hashes (Associated Array) ซึ่งหมายถึงเราสามารถกำหนดคีย์ (หรือค่าอินเด็กซ์แบบเป็นข้อความ) ให้กับ Array ได้ โดยมีรูปแบบการใช้งานดังนี้

การประกาศค่าให้กับตัวแปร Array (ในการประกาศค่าให้กับตัวแปรอะเรย์ Hashes สัญลักษณ์ที่ใช้คือ %) เช่น

%day_in_month = ("January" => 31, "Febuary" => 29, "March" => 31);

%number_hashes = ("01" => "Monday", "02' => "Tuesday", "03" => "Wednesday");

ในการเข้าถึงค่าของตัวแปร Array แบบ Hashes นี้มีรูปแบบดังนี้

print $day_in_month{"January"};                    # แสดงผล 31

print $number_hashes{"01"};                            # แสดงผล Monday

ในการเปลี่ยนค่า Array ตามคีย์ที่ต้องการ มีรูปแบบดังนี้

$day_in_month{"Febuary"} = 28;                     # %day_in_month = ("January" => 31, "Febuary" => 28, "March" => 31);

ถ้าต้องการนับจำนวนสมาชิกในอะเรย์ทั้งหมด (ใช้เหมือนกับตัวแปร Array แบบธรรมดา)

print $#day_in_month;                                         # ค่าที่ได้คือ 3

ถ้าต้องการดู key ของตัวแปร Array ทั้งหมด

print keys %day_in_month;                                 # แสดงผล January, Febuary, March

@keys_day = keys %day_in_month;                 # ยังสามารถเก็บค่า keys ของ Array แบบ Hashes เข้าเป็นตัวแปร Array แบบธรรมดาได้ด้วย เพราะฉะนั้น @keys_day = ("January", "Febuary", "March")

ถ้าต้องการเรียกดูค่าทั้งหมดของตัวแปร Array แบบ Hashes

print values %day_in_month;                               # แสดงผล 31, 28, 31

ตัวแปร Array ใน Perl

posted on 14 Sep 2009 18:27 by geneticblogger

ตัวแปร Array แบบธรรมดา ซึ่งหมายถึงตัวแปรอะเรย์ทั่ว ๆ ไป ซึ่งค่าอินเด็กซ์ของมันจะเป็นตัวเลขโดยเริ่มจาก 0, 1, 2, ... ไปเรื่อย ๆ โดยในภาษา Perl นั้นตัวแปรอะเรย์แบบธรรมดานี้มีรูปแบบการใช้งานดังนี้

การประกาศค่าให้กับตัวแปร Array (ในการประกาศค่าให้กับตัวแปรอะเรย์ธรรมดา สัญลักษณ์ที่ใช้คือ @) เช่น

@number_practice = (1, 2, 3, 4, 5);

@string_practice = ("เริ่มต้น", "ไปกับ", "ภาษา", "Perl");

ในการเข้าถึงตัวแปร Array แบบนี้มีรูปแบบการใช้งานดังนี้

print $number_practice[3];                                # โปรแกรมจะแสดงผล 4

print $string_practice[3];                                   # โปรแกรมจะแสดงผล Perl

ในการเปลี่ยนแปลงค่า Array ตามอินเด็กซ์ที่ต้องการ มีรูปแบบการใช้งานดังนี้

$number_practice[3] = 10;                                 # เพราะฉะนั้นตัวแปร @number_practice = (1, 2, 3, 10, 5)

$string_practice[3] = "C++";                             # เพราะฉะนั้นตัวแปร @string_practice = ("เริ่มต้น, "ไปกับ", "ภาษา", "C++")

ถ้าต้องการทราบจำนวนสมาชิกใน Array มีรูปแบบการใช้งานดังนี้

print $#number_practice;                                    # แสดงผล 5

ในการที่จะต้องการลดจำนวนสมาชิกใน Array มีรูปแบบการใช้งานดังนี้

$#number_practice = 3;                                        # หมายความว่า ลดสมาชิกในอะเรย์ให้เหลือจำนวน 3 ตัว

ถ้าต้องการเรียกดูค่าทั้งหมดของตัวแปร Array แบบธรรมดา

print @number_practice;                                      # แสดงผล 1 2 3 10 5

print @string_practice;                                         # แสดงผล เริ่มต้น ไปกับ ภาษา C++

ตัวแปร Scalar ใน Perl

posted on 14 Sep 2009 18:26 by geneticblogger

- ตัวแปร Scalar เป็นตัวแปรธรรมดา ๆ ซึ่งสามารถเป็นได้ทั้งตัวเลข อักขระ สตริง ก็ได้ เช่น

$a = "8";                                          # ตัวแปร $a มีค่าเป็นสตริง "8"

$b = 5;                                              # ตัวแปร $b มีค่าเป็นตัวเลข 5

$c = $a + 5;                                      # การเอาตัวแปรสตริง + (สัญลักษณ์บวก) กับตัวเลข มันจะถูกแปลงเป็นตัวเลขทันที เพราะฉะนั้นในกรณีนี้ตัวแปร $c จะมีค่าเป็น 13

$d = $a . "1";                                   # การเอาตัวแปรสตริง . (สัญลักษณ์ dot) กับตัวเลขหรือสตริงก็ตาม ค่าที่ได้จะเป็นค่าสตริง เพราะฉะนั้นในกรณีนี้ตัวแปร $d จะมีค่าเป็น "81"