i think in linux it uses a different option for system or exec to skip waiting. in windows it is passing "1" to system. but it does work good on windows 7 ultimate x64. i started this script last night and its still going fine :) I was unaware of getopt::long but i will def look into it. i was astounded i was even able to pass the arguments to mediainfo.exe like i did, but it did worked. i were also unaware of pod usage as well. thanks for pointing both of these out to me