Алгоритм решения задачи понятен из приведенных коментариев.

    Текст программы:

#! perl -w

# Проверка на наличие параметров
# в командной строке.
if (defined $ARGV[0])
{
  $f1 = $ARGV[0];
  $f2 = $ARGV[1];
}
else
{
  print "Задайте имя копируемого файла:"; 
  $f1=<STDIN>;
  print "Задайте имя файла-приемника:"; 
  $f2=<STDIN>;
  print "\n";
}
# ======== Решение задачи.
# Открывем файлы:
# на чтение;
open (FF1, "< $f1");
# на запись.
open (FF2, "> $f2");
# Читаем все записи первого файла.
@rest = <FF1>;  # Записи файла f1.
# Размещение их в файле f2.
for($i=0;  $i<=$#rest;  $i++)    
   { print  FF2 $rest[$i];  }
# Закрываем файлы.
close(FF1) or die $!; 
close(FF2) or die $!;
# Печать полученного файла.
print "Содержимое имя файла-приемника:\n"; 
# Открываем второй файл на чтение.
open (FF2, "< $f2");
print <FF2>;  # Печать всего файла. 
# Закрываем файл.
close(FF2) or die $!;
Текст этой программы можно взять здесь.