Алгоритм решения может быть следующим. Сначала открываем первый файл для чтения, а второй файл для записи. После этого читаем из первого файла текущую строку и затем помещаем ее во второй файл. Этот процесс повторяется до тех пор, пока не будет иcчерпан первый файл.

    Отметим, что в начале программы располагается проверка на наличие параметров в командной строке.

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

#! perl -w

# Проверка на наличие параметров
# в командной строке.
print "В командной строке отсутствуют 2 параметра!\n" unless defined $ARGV[1];
if (defined $ARGV[1]) # Выполняется в случае наличия всех параметров.
{
  # Открыть первый файл для чтения.
  # Дескриптор файла помещается в $a.
  open $a, $ARGV[0];     
  # Открыть второй файл для записи 
  # (символ > означает операцию записи).
  # Дескриптор файла помещается в $b.
  open $b, "> $ARGV[1]";
  # Читаем строку из первого файла...
  while ($line = <$a>) 
  {
    print $b $line; # ...помещаем ее во второй файл.
  }
  # Закрываем файлы.
  close $a;
  close $b;
}
Текст этой программы можно взять здесь.