yes .. with -e you aren't running a program, you're executing a "line" of code, so $0 doesn't really have a value, which makes sense (setting it to 'perl' won't be useful since obviously perl is running). If you save it to a script, it will show that scriptname ..