Perl | List Functions

A list in Perl is a collection of scalar values. We can access the elements of a list using indexes. Index starts with 0 (0th index refers to the first element of the list). We use parenthesis and comma operators to construct a list. In Perl, scalar variables start with a $ symbol whereas list variables start with @ symbol.
List provides various pre-defined Functions to perform operations with ease. Some of these Functions are as below:

  • join() function
    join() function is used to combine the elements of a List into a single string with the use of a separator provided to separate each element. This function returns the joined string. A separator can work only between the pairs. A separator can’t be placed at either end of the string. In order to join the strings without a separator, an empty parameter is passed to the function.

    Syntax: join(Separator, List)

    Parameter:

    • Separator: provided to separate each element while joining
    • List: to be converted to single String

    Returns: a joined String



    Example :

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    #!/usr/bin/perl
      
    # Initializing list with alphabets A to Z
    @list = (A..Z);
      
    # Printing the original list
    print "List: @list\n";
      
    # Using join function introducing
    # hyphen between each alphabets
    print "\nString after join operation:\n";
    print join("-", @list);

    chevron_right

    
    

    Output:

    List: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    
    String after join operation:
    A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z
    
  • reverse() function
    Reverse() function in Perl returns the elements of List in reverse order in a list context. While in a scalar context, it returns a concatenated string of the values of List, with all characters in opposite order. It returns String in Scalar Context and List in List Context.

    Syntax: reverse List

    Parameter:
    List: list to be reversed

    Returns: elements in reverse order

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Initializing a list
    @list = ("Raj", "E123", 12000);
      
    # Reversing the list
    @rname = reverse(@list);
      
    # Printing the reversed list
    print "Reversed list is @rname";
      
    # Initializing a scalar
    $string = "GeeksforGeeks";
      
    # Reversing a scalar
    $r = reverse($string);
    print "\nReversed string is $r";

    chevron_right

    
    

    Output:

    Reversed list is 12000 E123 Raj
    Reversed string is skeeGrofskeeG
    
  • map() function
    map() function in Perl evaluates the operator provided as a parameter for each element of List. For each iteration, $_ holds the value of the current element, which can also be assigned to allow the value of the element to be updated. map() function runs an expression on each element of an array and returns a new array with the updated results. It returns the total number of elements generated in scalar context and list of values in list context.

    Syntax: map(operation, List)
    Parameter:



    • operation: to be performed on list elements
    • List: whose elements need to be changed

    Example :

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Initializing a list
    @Dept = ('comp', 'inft', 'extc', 'mech');
      
    # Converting first character capital
    @upd1 = map(ucfirst, @Dept);
      
    # Printing list
    print "List with First char capital: ";
    foreach $i (@upd1
    {
       print "$i, ";
    }
      
    # Converting all characters capital
    @upd2 = map(uc, @Dept);
      
    # Printing list
    print "\nList with all char capital: ";
    foreach $i (@upd2
    {
       print "$i, ";
    }

    chevron_right

    
    

    Output:

    List with First char capital: Comp, Inft, Extc, Mech, 
    List with all char capital: COMP, INFT, EXTC, MECH, 
  • sort() function
    sort() function in Perl is used to arrange the List according to the condition of sorting specified to the function. If no condition is specified, then it sorts according to normal alphabetical sequence.
    If a condition is specified then the function sorts the List according to the condition.

    Syntax: sort(condition, List)

    Example

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # Initializing two lists
    @country = ('India', 'Qatar', 'Bangladesh', 'France', 'Italy');
    @capital = ('Delhi', 'Lahore', 'Dhaka', 'Paris', 'Rome');
      
    # Printing countries in sorted order
    print"Countries in sorted order: \n";
    print sort @country;
    print "\n";
      
    # Printing sorted country and capital values
    print "\nCombining both the lists in sorted order:\n";
    print sort @country, @capital;
    print "\n";
      
    # Initializing a list with number
    @list = (19, 4, 54, 33, 99, 2);
      
    # Sorting in descending order
    @s = sort{$b <=> $a} @list;
    print "\nPrinting numbers in sorted order:\n";
    foreach $i(@s)
    {
        print "$i, ";
    }

    chevron_right

    
    

    Output:

    Countries in sorted order: 
    BangladeshFranceIndiaItalyQatar
    
    Combining both the lists in sorted order:
    BangladeshDelhiDhakaFranceIndiaItalyLahoreParisQatarRome
    
    Printing numbers in sorted order:
    99, 54, 33, 19, 4, 2, 


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.