ตัวแปรคือข้อมูลที่จัดเก็บไว้ในหน่วยความจำ การสร้างตัวแปรจะเปิดพื้นที่ในหน่วยความจำ
ล่ามจะกำหนดพื้นที่จัดเก็บข้อมูลในหน่วยความจำตามประเภทของตัวแปร ดังนั้นคุณจึงสามารถกำหนดประเภทข้อมูลที่แตกต่างกันให้กับตัวแปร เช่น จำนวนเต็ม จุดลอยตัว สตริง ฯลฯ
ในบทที่แล้ว เราได้แนะนำประเภทข้อมูลพื้นฐานของ Perl สามประเภท ได้แก่ สเกลาร์ อาร์เรย์ และแฮช
เริ่มต้นด้วยสเกลาร์ $ เช่น $a $b เป็นสเกลาร์สองตัวอาร์เรย์เริ่มต้นด้วย @ เช่น @a @b เป็นอาร์เรย์สองตัว
แฮช % เริ่มต้นด้วย %a %b เป็นแฮชทั้งสอง
Perl ตั้งค่าพื้นที่คำสั่งอิสระสำหรับตัวแปรแต่ละประเภท ดังนั้นตัวแปรประเภทต่างๆ จึงสามารถใช้ชื่อเดียวกันได้โดยไม่ต้องกังวลเรื่องความขัดแย้ง ตัวอย่างเช่น $foo และ @foo เป็นตัวแปรสองตัวที่แตกต่างกัน
ตัวแปรไม่จำเป็นต้องประกาศประเภทอย่างชัดเจน หลังจากกำหนดค่าตัวแปรแล้ว ล่ามจะจัดสรรช่องว่างประเภทที่ตรงกันโดยอัตโนมัติ
ตัวแปรจะถูกกำหนดค่าโดยใช้เครื่องหมายเท่ากับ (=)
เราสามารถใช้คำสั่ง use strict ในโปรแกรมเพื่อบังคับให้ตัวแปรทั้งหมดประกาศประเภทได้
ด้านซ้ายของเครื่องหมายเท่ากับเป็นตัวแปรและด้านขวาเป็นค่าตัวอย่างดังนี้
$age = 25; # Integer $name = "codercto"; # String $salary = 1445.50;
ในโค้ดข้างต้น 25, "codercto" และ 1445.50 ถูกกำหนดให้กับตัวแปร $age , $name และ $salary ตามลำดับ
ต่อไปเราจะเห็นการใช้อาร์เรย์และแฮช
สเกลาร์เป็นหน่วยข้อมูลเดียว ข้อมูลอาจเป็นจำนวนเต็ม ตัวเลขทศนิยม อักขระ สตริง ย่อหน้า ฯลฯ พูดง่ายๆ ว่าเป็นอะไรก็ได้ นี่คือการประยุกต์ใช้สเกลาร์อย่างง่าย:
ผลลัพธ์ของการทำงานของโปรแกรมข้างต้นคือ:
อายุ = 25ชื่อ = coderctoเงินเดือน = 1445.5
อาร์เรย์เป็นตัวแปรที่ใช้ในการจัดเก็บค่าสเกลาร์ที่เรียงลำดับ
อาร์เรย์ @ เริ่มต้น
ในการเข้าถึงตัวแปรของอาร์เรย์ คุณสามารถใช้เครื่องหมายดอลลาร์ ($) + ชื่อตัวแปร และระบุตัวห้อยเพื่อเข้าถึงได้ ตัวอย่างดังต่อไปนี้:
ผลลัพธ์ของการทำงานของโปรแกรมข้างต้นคือ:
$ages[0] = 25$ages[1] = 30$ages[2] = 40$names[0] = google$names[1] = codercto$names[2] = taobao
ในโปรแกรม เราใช้อักขระ Escape () หน้าเครื่องหมาย $ เพื่อให้สามารถส่งออกอักขระ $ ได้
แฮชคือชุดของคู่ คีย์/ค่า
แฮช % เริ่มต้น
หากคุณต้องการเข้าถึงค่าแฮช คุณสามารถใช้รูปแบบ $+{key} เพื่อเข้าถึงได้:
ผลลัพธ์ของการทำงานของโปรแกรมข้างต้นคือ:
$data{'google'} = 45$data{'codercto'} = 30$data{'taobao'} = 40
บริบทที่เรียกว่า: หมายถึงตำแหน่งที่นิพจน์ตั้งอยู่
บริบทถูกกำหนดโดยประเภทของตัวแปรทางด้านซ้ายของเครื่องหมายเท่ากับ หากมีสเกลาร์ทางด้านซ้ายของเครื่องหมายเท่ากับ จะเป็นบริบทสเกลาร์ เครื่องหมายเท่ากับ มันคือบริบทรายการ
ล่าม Perl กำหนดประเภทของตัวแปรตามบริบท ตัวอย่างมีดังนี้:
ผลลัพธ์ของการทำงานของโปรแกรมข้างต้นคือ:
ชื่อคือ: google codercto taobao จำนวนชื่อคือ: 3
@names ในโค้ดคืออาร์เรย์ซึ่งใช้ในบริบทที่แตกต่างกันสองแบบ อันแรกคัดลอกไปยังอาเรย์อื่น ดังนั้นมันจึงส่งออกองค์ประกอบทั้งหมดของอาเรย์ ประการที่สอง เรากำหนดอาร์เรย์ให้กับสเกลาร์ ซึ่งจะส่งคืนจำนวนองค์ประกอบในอาร์เรย์
บริบทที่แตกต่างกันจำนวนหนึ่งแสดงอยู่ด้านล่าง:
หมายเลขซีเรียล | บริบทและคำอธิบาย |
---|---|
1 | สเกลาร์− กำหนดให้กับตัวแปรสเกลาร์ ซึ่งประเมินทางด้านขวาของบริบทสเกลาร์ |
2 | รายการ- กำหนดให้กับอาร์เรย์หรือแฮช โดยประเมินทางด้านขวาของบริบทรายการ |
3 | บูลีน− บริบทบูลีนเป็นนิพจน์ง่ายๆ ที่ประเมินเพื่อดูว่าเป็นจริงหรือเท็จ |
4 | เป็นโมฆะ - บริบทนี้ไม่จำเป็นต้องเกี่ยวข้องกับค่าที่ส่งคืน และโดยทั่วไปไม่จำเป็นต้องมีค่าตอบแทน |
5 | การแก้ไข− บริบทนี้เกิดขึ้นภายในเครื่องหมายคำพูดเท่านั้น |