mkdir "reports", 0755 or warn "Cannot make reports director: $!"; chdir ("reports"); # As someone else pointed out, / makes the path absolute. my %group = ( ABC => 'A', DEF => 'B', # You can have whatever mappings you want here. # They don't have to be single letters, either. # But don't have one called STDOUT or cetera. DEFAULT => 'DEFAULT'); no strict refs; # WARNING: This will annoy the 'use strict or die' people. foreach my $f (values %group) { open $f, ">group$f.txt"; } foreach my $n (keys %emp) { if (not defined $group{$emp{$n}{'Org'}}) { warn "Group $emp{$n}{Org} missing from \%group, " . "using DEFAULT group.\n"; $group{$emp{$n}{'Org'}} = $group{'DEFAULT'}; } print $group{$emp{$n}{'Org'}} $emp{$n}{'Emp'}; } #### for(unpack("C*",'GGGG?GGGG?O__\?WccW?{GCw?Wcc{?Wcc~?Wcc{?~cc' .'W?')){$j=$_-63;++$a;for$p(0..7){$h[$p][$a]=$j%2;$j/=2}}for$ p(0..7){for$a(1..45){$_=($h[$p-1][$a])?'#':' ';print}print$/}