我的部分代码是这样的:
while(1){
my $winmm = new Win32::MediaPlayer;
$winmm->load('1.mp3'); $winmm->play; $winmm->volume(100);
Do Some Stuff;
last if some condition is met;
}
问题是:当我在 while 循环中的 Do Some Stuff 阶段时,我希望音乐始终打开。但是音乐的长度太短了,在我进入下一个阶段之前它会完全停止,所以我希望音乐自己重复,但是Win32::Mediaplayer模块似乎没有重复模式,所以我正在考虑为音乐播放部分做一个无限循环。像这样:
while(1){
my $winmm = new Win32::MediaPlayer;
$winmm->load('1.mp3'); $winmm->play; $winmm->volume(100);
}
while(2){
Do some stuff;
last if some condition is met
}
但是根据我目前的 Perl 知识,如果我在 while(1) 部分,我永远无法进入 while(2) 部分。即使涉及到嵌套循环,在进入外部循环的另一部分之前,我也必须做一些事情来打破内部循环。
我的问题“我们可以在 Perl 中同时运行两个非嵌套循环吗?”的答案。可能是“否”,但我认为有某种方法可以处理这种情况。如我错了请纠正我。
一如既往地感谢您的任何评论/建议:)
更新
我真的很感谢大家的帮助。谢谢 :) 所以我的问题的答案是肯定的,而不是否定的。我很高兴我学会了如何使用 fork() 和线程来解决一个真正的问题:)