Monday, April 7, 2014

Perl: reverse

Perl: reverse


  • reverse
examples/arrays/reverse.pl
use strict;
use warnings;

# LIST context
my @names = qw(Foo Bar Baz);
my @reverses_names = reverse @names;
print "@reverses_names\n";    #  Baz Bar Foo

# SCALAR context
my $string = "abcd";
my $reversed_string = reverse $string;
print "$reversed_string\n";   # dcba 
 
 
source: Edu Maven 
 
 
 

Perl: Sort

Perl: Sort


  • sort
  • $a
  • $b
  • cmp
  • <=>
  • spaceship operator
examples/arrays/sort.pl
#!/usr/bin/perl
use strict;
use warnings;

my @words = qw(Foo Moo Bar);

my @sorted_words = sort @words;
print "@sorted_words\n";  # Bar Foo Moo

my @data = (11, 2, 23, 12);
my @sorted = sort @data;
print "@sorted\n";         # 11 12 2 23

my @sorted_ascii = sort {$a cmp $b} @data;

my @sorted_numeric = sort {$a <=> $b} @data;
print "@sorted_numeric\n";  # 2 11 12 23

my @sorted_by_length
    = sort {length($a) <=> length($b)} @data;

my @sorted_by_length_and_ascii
    = sort {
               length($a) <=> length($b)
                       or
               $a cmp $b
           } @data;

my @sorted_by_abc = sort {lc($a) cmp lc($b)} @data;

my @sorted_abc_ascii
    = sort {
           lc($a) cmp lc($b)
                   or
               $a cmp $b
           } @data;


Source: Edu Maven

Perl: Ternary operator

Perl: Ternary operator


  • ternary operator
  • ? :
my $var;
if (COND) {
    $var = A;
} else {
    $var = B;
}

my $var = COND ? A : B;
 
 
source: Edu Maven 

Perl: List::Util

Perl: List::Util


List::Util provides functions such as
  • max
  • min
  • sum
It resides in a distribution called Scalar-List-Utils


Source: Edu Maven