Home
FREE Newsletter
Perl How To
Perl Books
Perl Basics
Perl Editors
Perl Modules
Perl Database
Net Programming
Sitemap
About Me
Contact Me
Blog
 

Perl qw Function



NEW!!!

Check my new resource:    Perl How To Tutorial eBooks



The Perl qw function (quote word) uses embedded whitespace separator to split an expression passed to it into a list of elements and returns that list.

It is a handy shortcut that you can use to eliminate the quotes in a list area and make your script more readable. In other words, qw will automatically quote string values for you.

qw is either known as a function or an operator and it means the same thing. Its syntax form is as follows:

qw (EXPR)

In the EXPR it is not allowed to do any interpolation. You can use any set of delimiters, not just the parentheses (for example qw/EXPR/ is another popular way to use it). In the EXPR, the words can be separated with any whitespace, including newlines. You can use the Perl qw operator if each word of the list has no whitespace characters included.


Check my new How To Tutorial eBooks (PDF format):

to see a lot of fully commented examples that help you use the Perl statements and the Perl buit-in functions in your scripts.



In the following example we use single quotes, double quotes and the Perl qw operator to create an array. All the three forms are equivalent:

# initialize an array
my @array = ();

@array = ('sweet', 'bitter', 'sour', 'salty', 'hot');  # or

@array = ("sweet", "bitter", "sour", "salty", "hot");  # or

@array = qw/sweet bitter sour salty hot/;

As you can see in this example, if you have a longer list of words and you don’t use the Perl qw function, you need to type yourself a lot of commas and quotes to separate the words and your script can become difficult to read. But don’t mix the commas with the whitespace to separate the words because this will produce warnings if you will run the script with the warnings enabled.

You could also populate a hash using the Perl qw function, by alternating the strings in the expression argument, like in the following example:

# initialize a hash
my %hash = ();

# populate the hash with a few elements
%hash = qw(1 one 2 two 3 three 4 four);

# print the %hash
while (my ($key, $val) = each %hash) {
  print "$key=>$val\n"
}

This code will output:

4=>four
1=>one
3=>three
2=>two

You can use the qw function when you have a list of predefined strings, for example the text messages associated with some error codes:

# initialize a hash
my %errorCodes = ();

# populate the hash with a few elements
%errorCodes = qw(
  0 SUCCESS
  1 FILE_NOT_FOUND
  2 OUT_OF_MEMORY   
);

# sort and print the %errorCodes hash

foreach my $key (sort keys %errorCodes) {
  print "$key=>$errorCodes{$key}\n";
}

Here’s the output:

0=>SUCCESS
1=>FILE_NOT_FOUND
2=>OUT_OF_MEMORY

Please click here to download the Perl qw script with all the above examples included.



Subscribe now to my FREE newsletter
(regarding tips and tricks to manipulate multidimensional
arrays and hashes in Perl)

and you'll receive a link to download for FREE my Perl chomp Function Tutorial eBook (a $7.50 value), it's a bonus for you and I hope you'll enjoy it. You can see its Table of Contents here (if you subscribe to my free newsletter, you don't have to pay for this eBook or use your paypal account).


Don't forget to check my new How To Tutorial eBooks (PDF format):

to see a lot of fully commented examples that help you use the Perl statements and the Perl buit-in functions in your scripts.






NEW!!!

Do you want more information about the basic Perl topics?

Check my new "Perl How To" Tutorial eBooks page where I'll answer the most frequent questions regarding some topics :


Perl How To Tutorial eBooks


Table of Contents:

A Perl Script
Install Perl
Running Perl
Perl Data Types
Perl Variables
Perl Operators
Perl Lists
Perl Arrays
    Array Size
    Array Length
Perl Hashes
Perl Statements
    Perl if
    Perl unless
    Perl switch
    Perl while
    Perl do-while
    Perl until
    Perl do-until
    Perl for
    Perl foreach
Built-in Perl Functions
    Functions by Category
        String Functions
        Array Functions
    Functions in alphabetical order
        chomp
        chop
        chr
        crypt
        defined
        grep
        hex
        index
        join
        lc
        lcfirst
        length
        map
        oct
        ord
        pack
        pop
        push
        qw
        reverse
        rindex
        scalar
        shift
        sort
        splice
        split
        substr
        uc
        undef
        unshift

return from Perl qw function to Perl Basics



Would you like to create your own website like this one?
Hit the Alarm Clock!

Site Build It!


footer for perl qw page