请教在perl里面怎么调用外部批处理文件

请教在perl里面怎么调用外部批处理文件

我的perl程序需要先后调用两个写好的批处理文件aaa.bat和bbb.bat
我是这样做的:

@args = ("aaa.bat");
    system(@args) == 0
        or die "system @args failed: $?";


printf "mi.bat run end\n";


@args = ("bbb.bat");
    system(@args) == 0
        or die "system @args failed?";



实际执行的时候我发现perl正确调用了第一个批处理文件之后就不走了,紧接着的printf都没有打印出东西来。这是为什么呢?
我试过exec,但是我看exec说的是创建一个新的进程而perl自己退出了。感觉我这里的system和exec一样了。
我的perl版本是
D:\...>perl -version

This is perl, v5.10.0 built for MSWin32-x86-multi-thread
(with 3 registered patches, see perl -V for more detail)

Copyright 1987-2007, Larry Wall

Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com
Built Jan 10 2008 11:00:53

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

初学perl,请大家指点
谢谢!

把aaa.bat贴出来
很有可能aaa.bat要回车了才能真正结束运行
在bat中echo适当信息, 再运行Perl脚本看看进行至何处

system在当前perl脚本folk的子进程运行, 等待完成并获取返回值.
exec在当前perl脚本进程运行, 不会获取返回值, 除非命令本身不存在.
哦, 我明白了,好像是我的aaa.bat最后调用了
@call cmd.exe /K "title she's building"