If you are developing generic subroutines, then the names
inside your subroutines aren't bad, but the fact that you
hard code the name of the file is. If you pass the in the
name of the file as an argument to the sub, then you will
have some reusable subroutines:
sub file_to_list {
my $name = shift or die "must have name to read";
open (FILE, '<', $name) or die "can't read from $name: $!";
chomp(my @data = <FILE>);
return @data;
}
sub list_to_file {
my $name = shift or die "must have name to write";
open (FILE, '>', $name) or die "can't write to $name: $!";
print FILE "$_\n" for @_;
}
my @foo = file_to_list('file.in');
print "$_\n" for @foo;
list_to_file('file.out',@foo);
|