Cara menampilkan Perl array

Array adalah salah satu dasar struktur data dalam bahasa pemrograman Perl. Dalam elemen array dapat dari berbagai jenis.

Kadang-kadang anda perlu untuk membawa sebuah array dari Perl pada layar. Ada beberapa cara untuk melakukannya.

Gunakan join()

Seringkali cara terbaik untuk memperoleh nilai dari Perl array pada layar adalah dengan menggunakan fungsi join(). Menggunakan fungsi join() untuk membuat string dari array nilai-nilai, dan kemudian untuk membawa ini string ke layar. Berikut ini sebuah contoh:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print join(', ', @arr);

Kami telah mengidentifikasi sebuah array @arr di mana ditempatkan beberapa angka dan string, dan kemudian menggunakan join(', ', @arr) yang telah kita buat sebuah string dan menggunakan print membawanya ke layar. Hasil dari kode ini: 1, 20, asdf, 100. Metode ini baik karena apa yang jelas.

Gunakan Data::Dumper

Kadang-kadang hal ini diperlukan untuk melihat struktur data yang disimpan dalam sebuah variabel. Cocok untuk perpustakaan Data::Dumper. Perpustakaan ini dilengkapi dengan Perl, secara terpisah itu tidak dimasukkan. Menggunakan Data::Dumper anda dapat melihat apa yang ada di dalam variabel. Berikut adalah contoh kode yang menampilkan informasi tentang array:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = (1, 20, 'asdf', 100);

print Dumper \@arr;

Output dari program ini:

$VAR1 = [
          1,
          20,
          'asdf',
          100
        ];

Gunakan print

Tapi selain dari menggunakan join() atau Data::Dumper array pada layar menarik menggunakan print:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);

print @arr;

Hasil dari program ini:

120asdf100

Seperti yang anda lihat, print @arr dicetak semua elemen array bersama-sama. Elemen array dalam output tidak dipisahkan. Kadang-kadang ini adalah apa yang anda butuhkan dan kadang-kadang tidak.

Tapi bukannya metode ini print @arr sering lebih baik untuk menulis dengan jelas print join('', @arr);. Rekaman dengan join() lebih mudah dibaca manusia.

Variabel $,

Ada variabel khusus $,, yang mengontrol printmenggabungkan elemen array dalam output. Misalnya, anda dapat Melengkapi contoh sebelumnya dan tempat dalam hal ini variabel simbol ,.

▶ Run
#!/usr/bin/perl

$, = ',';

my @arr = (1, 20, 'asdf', 100);

print @arr;

Program menampilkan teks dalam elemen array dipisahkan dengan koma: 1,20,asdf,100.

Variabel $, mungkin berisi tidak hanya satu karakter tapi beberapa. Jika variabel ini untuk menetapkan string $, = ', ';, maka output akan menjadi sedikit lebih deskriptif: 1, 20, asdf, 100.

Jika variabel $, untuk menetapkan simbol-simbol untuk \n, kemudian masing-masing elemen dari array yang akan ditampilkan pada baris terpisah:

▶ Run
#!/usr/bin/perl

$, = "\n";

my @arr = (1, 20, 'asdf', 100);

print @arr;

Tapi yang paling sering itu lebih baik untuk tidak menggunakan variabel $,, dan gunakan fungsi join() dalam rangka untuk secara eksplisit mengumpulkan nilai dari array ke string. Masalah dengan variabel $, adalah bahwa nilai dapat ditugaskan di satu tempat dalam program dan print yang dipengaruhi oleh variabel ini adalah di tempat yang sangat berbeda dari program. Ketika menggunakan join() set untuk membagi segera jelas. Masalah lain variabel fakta bahwa hal itu mempengaruhi semua print yang terletak setelah penugasan.

ARRAY(0x561c66b32870)

Kadang-kadang ketika anda memasukkan Perl array ke layar anda dapat melihat garis ARRAY(0x561c66b32870). Ini berarti bahwa layar akan menampilkan bukan array referensi ke array. Berikut adalah contoh kode yang menampilkan string seperti ini:

▶ Run
#!/usr/bin/perl

my @arr = (1, 20, 'asdf', 100);
my $arr_ref = \@arr;

print $arr_ref;

Dalam rangka untuk menampilkan array pada layar atau gunakan Data::Dumper, atau untuk dereference link dan bukan print $arr_ref; menulis print @{$arr_ref};. Lebih baik lagi, menulis print join('', @{$arr_ref});

Topik terkait

Artikel lainnya