in reply to Array shortcut

Not so much a serious syntax error as a serious semantic error. You are creating a string using qq where what you really want is a list of characters. To compound the problem qq interpolates so $, (the output field separator special variable) is interpolated but generates a 'Use of uninitialized value in concatenation (.) or string at ...' warning because it is undef by default.

You can achieve what you intend with:

use warnings; use strict; my @chars = ('a'..'z', 'A'..'Z', '0'..'9', '!', '@', '#', '$', '%', '^ +', '&', '*'); print @chars;

Prints:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*

True laziness is hard work