#!/usr/bin/perl use strict; use warnings; my @out = qw( op0 op1 op2 op3 ); my %out = map { $_ => undef } @out; for ( @out ) { open $out{ $_ }, '>', $_ || die "Can't: $!\n" } while ( my $l = <> ) { print $_ $l for values %out }