Fungsi chop() di Perl

Dalam bahasa pemrograman Perl memiliki fungsi built-in chop(). Anda dapat menggunakan fungsi ini ketika bekerja dengan string. Dalam kasus yang paling sederhana, fungsi chop() menghapus karakter terakhir dalam variabel yang berlalu argumen dalam fungsi.

Berikut ini sebuah contoh:

▶ Run
#!/usr/bin/perl

my $string = 'ASDF';

chop($string);

print "'$string'";

Program ini menampilkan teks 'ASD'.

Argumen

Jika fungsi chop tidak tidak ada argumen yang diberikan, fungsi bekerja dengan default variabel $_:

▶ Run
#!/usr/bin/perl

$_ = 123;

chop();

print "'$_'";

Dalam hal ini jika variabel $_ adalah undef dan digunakan use warnings;, akan peringatan:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

chop();
Use of uninitialized value $_ in scalar chop at script.pl line 6.

Dalam fungsi chop() , anda dapat melewati skalar, array, hash. Dalam kasus hash fitur ini hanya akan bekerja dengan nilai-nilai kunci, kunci sendiri tidak akan berubah.

Argumen dari fungsi chop() harus selalu variabel. Jika untuk mencoba untuk melewati ini fungsi string, itu akan kesalahan dan eksekusi program akan dihentikan:

▶ Run
#!/usr/bin/perl

chop('ASDF'); # Error!
Can't modify constant item in chop at script.pl line 3, near "'ASDF')"
Execution of script.pl aborted due to compilation errors.

Nilai kembali

Fungsi chop() selalu mengembalikan sebuah string. Hal ini dapat kosong string '', atau string yang terdiri dari satu karakter.

Berikut ini adalah contoh situasi ketika chop() mengembalikan string kosong:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = '';

warn Dumper chop($var);
warn Dumper $var;

Berikut adalah contoh yang lebih sering situasi ketika chop() mengembalikan sebuah string tepat satu simbol. Fungsi ini mengembalikan karakter yang dipotong dari baris:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var = 'asdf';

warn Dumper chop($var);
warn Dumper $var;

Program ini akan menampilkan:

$VAR1 = 'f';
$VAR1 = 'asd';

Berikut ini adalah contoh lain dari sebuah situasi ketika chop() mengembalikan sebuah karakter tunggal.

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @arr = qw(abc def ghi);

warn Dumper chop(@arr);
warn Dumper \@arr;

Output dari program ini:

$VAR1 = 'i';
$VAR1 = [
          'ab',
          'de',
          'gh'
        ];

Fungsi chop() memotong karakter terakhir dari semua elemen dalam array, tetapi kembali satu-satunya karakter yang dipotong lalu.

Dokumentasi resmi

Berikut ini adalah output dari perintah perldoc -f chop:

       chop VARIABLE
       chop( LIST )
       chop    Chops off the last character of a string and returns the
               character chopped.  It is much more efficient than "s/.$//s"
               because it neither scans nor copies the string.  If VARIABLE is
               omitted, chops $_.  If VARIABLE is a hash, it chops the hash's
               values, but not its keys.

               You can actually chop anything that's an lvalue, including an
               assignment.

               If you chop a list, each element is chopped.  Only the value of
               the last "chop" is returned.

               Note that "chop" returns the last character.  To return all but
               the last character, use "substr($string, 0, -1)".

               See also "chomp".

Topik terkait

Artikel lainnya