$str ='c:\temp\source\test\test.c@@main\com\etc c:\temp\source\test\test1.c@@main\com\test c:\temp\source\test\test3\test2.c@@main\com\etc\test'; while($str=~ m/c:\\temp(.*?)\@\@/g) { print "$1\n"; }