Writing to an address starting with 0x00 with a Perl script

Reading the book "Hacking - The Art of Exploitation"; I am following the writer as he changes the execution flow by overflowing the stack and changing the return address of a function. (Specifically, page 135-136) He manages to do this with a Perl script, entering the return address as a command line argument 10 times:

$ ./auth_overflow2 $(perl -e 'print "\xbf\x84\x04\x08"x10')

where

0x080484bf

is the return address.

I'm trying to do the same, but my return address starts with 0x00. Replacing \x08 with \x00, the null character becomes omitted, therefore address I want to enter is shifted by a byte in the memory map. How can I work around this?