Sintaks:
Sintaks fungsi 'berkati' diberikan dalam perkara berikut. Fungsi ini boleh digunakan dengan satu hujah atau dua hujah. Biasanya, fungsi ini digunakan dengan dua argumen di mana argumen pertama ialah pembolehubah rujukan dan argumen kedua ialah nama kelas yang dirujuk oleh argumen pertama. Apabila ia digunakan dengan satu nilai argumen, pembolehubah rujukan merujuk kepada pakej semasa.
memberkati ref
atau
memberkati ref , nama kelas
Contoh Berbeza Fungsi Bless().
Penggunaan fungsi bless() dalam pelbagai cara ditunjukkan dalam bahagian tutorial ini.
Contoh 1: Menggunakan Kelas dan Objek Mudah
Dalam contoh ini, pakej bernama 'Buku' mengandungi subrutin yang berfungsi seperti kaedah pembina kelas. Di sini, fungsi 'berkati' digunakan untuk mengaitkan pembolehubah dengan nama kelas yang disediakan pada masa memanggil kaedah Init().
#!/usr/bin/perl
menggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
#Tentukan pakej
Buku pakej ;
#Tentukan pembina
di bawah Init
{
#Memulakan nama kelas
$className saya = syif ;
#Memulakan pembolehubah
$pembolehubah saya = {
'Nama Buku' => syif ,
'Nama Pengarang' => syif ,
'Tahun Terbitan' => syif ,
'Harga' => syif
} ;
#Tetapkan rujukan dengan rujukan
memberkati $variables , $className ;
#Kembalikan pembolehubah rujukan
kembali $pembolehubah ;
}
#Buat objek kelas
$bookObj saya = Buku Init ( 'Pembelajaran Perl' , 'Randal L. Schwartz' , 1993 , Empat lima ) ;
#Cetak nilai pembolehubah kelas
katakan 'Butiran buku:' ;
katakan ' \n Nama Buku: $bookObj->{'Nama Buku'}' ;
katakan 'Nama Pengarang: $bookObj->{'AuthorName'}' ;
katakan 'Tahun Terbitan: $bookObj->{'PublishedYear'}' ;
katakan 'Harga: \$ $bookObj->{'Harga'}' ;
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip:
Contoh 2: Menggunakan Kelas dan Objek dengan Pelbagai Kaedah
Dalam contoh ini, pakej bernama 'Produk' mengandungi dua kaedah. Satu kaedah ialah Init() yang digunakan untuk memulakan pembolehubah yang diperlukan dan merujuk kepada pembolehubah dengan nama kelas menggunakan fungsi 'bless'. Kaedah lain iaitu calculate_price() digunakan untuk mengira harga diskaun produk.
#!/usr/bin/perlmenggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
#Tentukan pakej
pakej Produk ;
$pembolehubah saya = { } ;
#Tentukan pembina
di bawah Init
{
#Memulakan nama kelas
$className saya = syif ;
#Memulakan pembolehubah
$pembolehubah = {
'ID' => syif ,
'Nama' => syif ,
'Harga' => syif
} ;
#Tetapkan rujukan dengan rujukan
memberkati $variables , $className ;
#Kembalikan pembolehubah rujukan
kembali $pembolehubah ;
}
#Istiharkan kaedah untuk mengira harga diskaun
sub hitung_harga
{
harga $diskaun saya = $pembolehubah- > { 'Harga' } - $pembolehubah- > { 'Harga' } * 0.1 ;
katakan 'Harga diskaun: \$ $discount_price' ;
}
#Buat objek kelas
$proObj saya = Produk Init ( '6745' , 'Pemantau Dell' , lima puluh ) ;
#Cetak nilai pembolehubah kelas
katakan 'Maklumat produk selepas 10 \% diskaun: ' ;
katakan ' \n Id: $proObj->{'Id'}' ;
katakan 'Nama: $proObj->{'Nama'}' ;
katakan 'Harga asal: \$ $proObj->{'Harga'}' ;
#Panggil kaedah objek
$proObj- > hitung_harga ( ) ;
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip:
Contoh 3: Menggunakan Kelas dengan Mencipta Modul
Dalam contoh ini, modul Perl yang ditentukan pengguna dicipta dalam fail berasingan bernama 'CalPower.pm' di mana fungsi 'bless' digunakan. Cipta fail ini dengan skrip Perl berikut. Modul ini mengira “x n ' di mana nilai 'x' dan 'n' disediakan daripada skrip Perl di mana modul ini diimport.
#!/usr/bin/perlmenggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
#Tentukan nama pakej
pakej CalPower ;
#Tentukan pembina
di bawah Init
{
$className saya = syif ;
$var saya =
{
nombor => syif ,
kuasa => syif
} ;
memberkati $var , $className ;
kembali $var ;
}
#Tentukan kaedah untuk mengira nilai kuasa
sub Kira
{
$var saya = syif ;
$hasil saya = $var- > { 'nombor' } ;
untuk ( $i saya = 1 ; $i < $var- > { 'kuasa' } ; $i++ )
{
$hasil = $var- > { 'nombor' } * $hasil ;
}
kembali $hasil ;
}
Cipta fail Perl dengan skrip berikut di mana modul 'CalPower' diimport untuk mengira kuasa berdasarkan nilai input yang diambil daripada pengguna.
#!/usr/bin/perlmenggunakan ketat ;
guna amaran ;
gunakan 5.34.0 ;
gunakan CalPower ;
#Ambil nilai asas
cetak 'Masukkan nilai x:' ;
chomp ( $x saya = <> ) ;
#Ambil lembah kuasa
cetak 'Masukkan nilai n:' ;
chomp ( $n saya = <> ) ;
#Buat objek kelas
$Obj saya = Init CalPower ( $x , $n ) ;
#Cetak nilai kuasa yang dikira
cetak '$x kepada kuasa $n ialah ' ;
katakan $Obj- > Kira ( ) ;
Pengeluaran:
Output berikut muncul selepas melaksanakan skrip:
Kesimpulan
Penggunaan fungsi 'berkati' dalam Perl ditunjukkan dalam tutorial ini dengan mencipta pakej dalam fail Perl yang sama dan mencipta modul dalam fail lain.