Your style is all over the place and to do in such a sort space is something of an achievement. :P Please use strict and pick a CGI style. You are importing a ton of functions (":standard") but using it object oriented. There is almost never a reason to use it OOP in a standalone script; only if you need to pass it around libraries or harnesses.
You can't just drop a post-fix conditional into a print list. You can use the Enterprise operator (see Secret Perl Operators: the boolean list squash operator, x!!), among a couple other tricks though–
use strict;
use CGI ":standard";
my $index = param("index") || 0;
print header(),
start_html(),
div({ -id => "pagewrap" },
( p("Hello") ) x ! $index,
),
end_html();