关于一个perl的小问题

关于一个perl的小问题

我有一个shell,是用来备份数据库的:代码如下
BAKDIR=/DBDATA
DD=`date +%m%d`
#先备份数据库,然后清除数据库日志
su - sybase -c "isql -Usa -P <<!
dump database CKDB to '$BAKDIR/CKDB_$DD.dump'
go
!"
现在我想用 perl实现它,可是有些内容不知道怎么写了,看了论坛里一些在perl里面用shell的例子也没有找到,还望大家指教一二。
我怎样把su - sybase -c "isql -Usa -P <<!
dump database CKDB to '$BAKDIR/CKDB_$DD.dump'
go
!"
这个话表达出来呢?我perl里用到shell,shell又要用到perl里的变量。system($cmd),这个cmd字符串改怎么写?
Perl里的这种用“<<”的方法,我还真不知道。谁知道回复一下,我也学习一下。
至于其它的,如果是我,我会读一个密码到$passwd,再编一个sybase脚本,名字放在$scriptsname里,然后生成一个$cmd。就象是:
$cmd = "su - sybase -c \"isql -Usa -P$passwd -S$Servername -I$scriptsname\"\n";
最后用system("$cmd");执行。
IPC::Open3
楼上的能具体点吗?