Fungsi join() di Perl

Dalam bahasa pemrograman Perl memiliki fungsi built-in join(). Dengan menggunakan fungsi ini, anda dapat menggabungkan beberapa nilai dalam sebuah string.

Berikut ini sebuah contoh:

▶ Run
#!/usr/bin/perl

my $str = join('<>', 'a', 'b', 'c');
print $str;

Program ini akan menampilkan teks a<>b<>c.

Argumen

my $str1 = join($separator, $value1, $value2);
my $str2 = join($separator, @arr);
my $str3 = join($separator, @arr1, @arr2);

Standar menggunakan join() adalah untuk memberikan dua atau lebih argumen. Nilai pertama yang dikirimkan ke fungsi adalah string untuk membagi. Fungsi join() mengembalikan sebuah string yang dimulai dengan nilai-nilai kedua terhubung bersama-sama, dan di antara mereka adalah pemisah. Contoh (program akan a:b:c:d):

▶ Run
#!/usr/bin/perl

print join(':', 'a', 'b', 'c', 'd');

Dalam hal setelah nilai pemisah adalah hanya satu nilai maka hasilnya adalah suatu string yang terdiri hanya dari nilai kedua. Contoh (program akan menampilkan a):

▶ Run
#!/usr/bin/perl

print join(':', 'a');

Nilai dibagi menjadi satu atau lebih karakter dan mungkin menjadi kosong line ''. Jika anda menggunakan string kosong sebagai nilai pertama, hasil dari fungsi adalah gabungan dari nilai-nilai. Contoh (hasil program ABC):

▶ Run
#!/usr/bin/perl

print join('', 'A', 'B', 'C');

Jika fungsi join() tidak lulus argumen, maka akan error:

Not enough arguments for join or string at script.pl line 3, near "join()"
Execution of script.pl aborted due to compilation errors.

Jika fungsi transfer join() argumen tunggal, hasilnya akan selalu string kosong ''. Jika anda lulus undef sebagai satu-satunya argumen, maka hasilnya akan menjadi string kosong, tapi termasuk use warnings, pada STDERR anda akan menerima peringatan:

Use of uninitialized value in join or string at script.pl line 5.

Nilai kembali

Hasil dari fungsi join() adalah selalu sebuah string.

Bahkan jika anda menggunakan join() dengan angka, hasilnya masih string, bukan angka. Jika anda menulis join(1, 22, 33), hasilnya akan menjadi string '22133', bukan jumlah 22133. Tapi sulit untuk membayangkan situasi di mana anda harus join() kembali jumlah bukan string. Tapi dalam kasus Perl adalah mungkin untuk menggunakan string di semua operasi matematika. Baca lebih lanjut tentang bagaimana Perl mengkonversi string ke bilangan.

Topik terkait

Dokumentasi resmi

Berikut ini adalah output dari perintah perldoc -f join:

       join EXPR,LIST
               Joins the separate strings of LIST into a single string with
               fields separated by the value of EXPR, and returns that new
               string.  Example:

                   $rec = join(':', $login,$passwd,$uid,$gid,$gcos,$home,$shell);

               Beware that unlike "split", "join" doesn't take a pattern as
               its first argument.  Compare "split".

Artikel lainnya