running shell command in Perl script

Does not work.

#!/usr/bin/perl
$etcdir = 'ls -l /etc';
print $etcdir;
#END
------------result--------
#perl -w abc123.pl
ls -l /etc[root@localhost perl]
#

This method works.

#!/usr/bin/perl
$etcdir = system("ls -l /etc");
print $etcdir;
#END

how do i run commands directly without using system or exec ?

perl version is 5.8.8 built for i386-linux-thread-multi

[quote=dplinux;302392868]

#!/usr/bin/perl
$etcdir = 'ls -l /etc';
print $etcdir;
#END
------------result--------
#perl -w abc123.pl
ls -l /etc[root@localhost perl]
#

This method works.

It should be backtick actually...
$etcdir = `ls -l /etc`;

Thanks the (` `) backticks worked.