in reply to print out

When you enter parameters at the command line, the shell interprets space (or multiple spaces) as an argument separator. To see this, carefully print @ARGV:
#!/usr/bin/perl { $" = "\n"; print "@ARGV\n"; }
This will print each argument on a separate line. Then you will see that it isn't your script that is mishandling the args. To put them back together, you could do something like:
my $args = join '', @ARGV;
Then you can ask the original question about spaces in the regexes. You could use /gu\s*1/ in the first instance. That will match gu followed by optional space followed by 1.

Phil