Unless you specifically need to format numbers to a particular number of decimal places or do zero-filling, using printf rather than just print (or even just interpolating into a double quoted string for that matter) is unnecessary (and makes you look like a C programmer :). You also will add the end token "stop" to your list. Consider using the more idiomatic while( <STDIN> ) { chomp; last if /^stop$/i; ... } instead.
You also might want to take a look at perltidy for a bit more idiomatic (and consistent) indentation. Not that this is python, but you're all over there with four, three, and zero spaces.