use warnings;
use strict;
my @foo;
for ( 1..5 ) {
open $foo[$_], '>', "files/file$_.txt" or die "Cannot write to file$_.txt: $!\n";
}
for ( 1..5 ) {
print { $foo[$_] } "$_\n";
}
for ( 1..5 ) {
close ( $foo[$_] ) or die "Cannot close file$_.txt: $!\n";
}
for ( 1..5 ) {
print { $foo[$_] } "$_\n";
}
####
use warnings;
use strict;
my %foo = map { $_ => undef } qw( employees rates departments );
for ( keys %foo ) {
open $foo{$_}, '>', "files/$_.txt" or die "Cannot write to $_.txt: $!\n";
}
for ( keys %foo ) {
print { $foo{$_} } "$_\n";
}
for ( keys %foo ) {
close ( $foo{$_} ) or die "Cannot close $_.txt: $!\n";
}
for ( keys %foo ) {
print { $foo{$_} } "$_\n";
}
####
use warnings;
use strict;
my %foo = map { $_ => undef } qw( forked_1 forked_2 forked_3 );
for ( keys %foo ) {
open $foo{$_}, '>', "files/$_.txt" or die "Cannot write to $_.txt: $!\n";
}
print STDERR "I am $$, and I am the parent.\n";
if ( my $kidpid = fork ) {
my $deadkid = wait;
print "$$ says: $deadkid is no more. Now I will write to the files.\n";
for ( keys %foo ) {
print { $foo{$_} } "$$: $_\n";
}
} elsif ( defined $kidpid ) {
print STDERR "I am $$.\n";
for ( keys %foo ) {
close ( $foo{$_} ) or die "Cannot close $_.txt: $!\n";
}
for ( keys %foo ) {
print { $foo{$_} } "$$: $_\n";
}
} else {
print STDERR "Failed to fork!?!?!?: $!\n";
}