Hi,
   
  Thanks alot for the detailed explanation.
   
  Regards
  Anand Kumar

Prabu <[EMAIL PROTECTED]> wrote:
  anand kumar wrote:
> hi all,
> 
> I could not understand clearly the functions 
> qw(),qq(),qr(),qx(),q(),quotemeta(). I 
> have read the explanation for these functions in the perl documentation but i 
> could not get idea of where exactly we can use these functions. So please 
> send some other links or examples for these functions.
> 
> Thanks in advance for the help
> 
> Regards
> Anand Kumar 

Hello Anand,

q/STRING/
’STRING’

A single-quoted, literal string.A generalized single-quote operation.

A backslash represents a backslash unless followed by the delimiter or 
another backslash, in which case the delimiter or backslash is interpolated.

for example
$foo = q!Hello World!; This is equivalent to $foo='hello world';

_________________________________________________________________________________
qq/STRING/
"STRING"

A double-quoted, interpolated string.

for example
$foo = qq!Hello World!; This is equivalent to $foo='hello world';

_________________________________________________________________________________
qr/STRING/imosx

This operator quotes (and possibly compiles) its STRING as a regular 
expression. STRING is interpolated the same way as PATTERN in "m/PATTERN/"

Options are:
i Do case-insensitive pattern matching.
m Treat string as multiple lines.
o Compile pattern only once.
s Treat string as single line.
x Use extended regular expressions.

For example
$rex = qr/my.STRING/is;
s/$rex/foo/;

This is equivalent too

s/my.STRING/foo/is;

_________________________________________________________________________________
qx/STRING/
‘STRING‘

A string which is (possibly) interpolated and then executed as a system 
command with "/bin/sh" or its equivalent. Shell wildcards, pipes, and 
redirections will be honored. The collected standard output of the 
command is returned; standard error is unaffected.

qx(ls); This is equivalent to `ls` (backtics)

qw/STRING/
Evaluates to a list of the words extracted out of STRING, using embedded 
whitespace as the word delimiters.

@a=qw(foo bar baz); This is equivalent too @a=("foo", "bar", "baz");

_________________________________________________________________________________
quotemeta EXPR

Returns the value of EXPR with all non-"word" characters backslashed.
_________________________________________________________________________________

A Small Example

PROGRAM

$ cat func.pl
#!/usr/bin/perl
$foo = q!Hello World\n!;
print "single-quote operation\n\t",$foo."\n";
$foo = qq!Hello World\n!;
print "double-quote operation\n\t",$foo;
$foo = "Hello world";
$pattern = qr!Hello!is;
$foo=~s/$pattern/HELL0/;
print "Regex operation\n\t",$foo;
@a=qw(hello perl world);
print "\nTurn a space-delimited string of words into a list\n\t";
foreach(@a){
print "$_\n\t";
}
$foo="Hello*world";
$non_word_char = quotemeta($foo);
print "\nBackslashed non-word characters\n\t",$non_word_char."\n";
print qx/ps/;


OUTPUT

$ perl func.pl
single-quote operation
Hello World\n
double-quote operation
Hello World
Regex operation
HELL0 world
Turn a space-delimited string of words into a list
hello
perl
world

Backslashed non-word characters
Hello\*world
PID TTY TIME CMD
20453 pts/5 00:00:00 bash
20737 pts/5 00:00:00 perl
20738 pts/5 00:00:00 ps





-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





                                
---------------------------------
 Here’s a new way to find what you're looking for - Yahoo! Answers 

Reply via email to