I'm getting an error:my $household; my $voter_rating; my $support_level; my $phone_number; my $last_name; my $first_name; format Household = @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $household ================================== . format Voter = @<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<< @<< @<<<<<<<<<<<< $last_name, $first_name, $voter_rating, $phone_number . open (Household, '>out.txt'); foreach (sort keys %households) { $household = $_; write Household; foreach ($households{$household}) { my @members = @{$_}; foreach (@members) { my %member = %{$_}; $first_name = $member{first_name}; $last_name = $member{last_name}; $voter_rating = $member{voter_rating}; $support_level = $member{support_level}; if ($member{mobile_number}) { $phone_number = $member{mobile_number}; } else { $phone_number = $member{phone_number}; } if (!$phone_number) { $phone_number = ''; } write Voter; } } }
The output of the file is what I want but I have no idea why I'm getting this error. How do I get rid of it?write() on unopened filehandle Voter at ./velis_munger.pl line 298
UPDATE: SOLUTION ==============
open (MYFILE, '>out.txt'); select(MYFILE); foreach (sort keys %households) { $household = $_; $~ = 'Household'; write; foreach ($households{$household}) { my @members = @{$_}; foreach (@members) { my %member = %{$_}; $first_name = $member{first_name}; $last_name = $member{last_name}; $voter_rating = $member{voter_rating}; $support_level = $member{support_level}; if ($member{mobile_number}) { $phone_number = $member{mobile_number}; } else { $phone_number = $member{phone_number}; } if (!$phone_number) { $phone_number = ''; } $~ = 'Voter'; write; } } }
$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon";
$nysus = $PM . $MCF;
Click here if you love Perl Monks
In reply to [SOLVED] How to print two different formats to same file without getting an error? by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |