Метод add( ) позволяет добавить поле к заголовку. Если здесь предусмотрен параметр $index, этот метод вставляет поле в указанную позицию; в ином случае ой присоединяет поле к концу списка.
Метод replace() заменяет значение поля, указанного по имени, заданным значением. Если поле является многозначным, то для выбора заменяемого значения применяется параметр $index, в ином случае заменяется первое поле.
Метод delete() удаляет указанное поле.
Все эти три метода принимают параметры в сокращенной форме, которая позволяет задавать имя и значение поля в одной строке. Эта сокращенная форма позволяет заменить строку Subject примерно так:
$head->replace ('Subject: returned to sender') а не так:
$head->replасе ('Subject => 1 returned to sender')
Для выборки информации об объекте заголовка применяется метод get(), который позволяет получить значение одного поля, или методы tags() и commit() с помощью которых можно получить информацию обо всех имеющихся полях.
Метод get() выбирает значение поля, указанного по имени. В скалярном контексте он возвращает значение первого указанного поля в форме текста; в контексте списка он возвращает все такие поля. Чтобы выбрать один элемент многозначного поля, можно указать индекс.
Недостатком метода get() является то, что возвращенные им значения полей содержат символы обозначения конца строки. Эти символы приходится удалять вручную с помощью функции chomp().
Метод tags() возвращает список имен полей (которые в документации Mail::Header называются “тегами"). Метод count() возвращает число вхождений указанного тега в заголовке. И наконец, для экспорта заголовка в различных формах могут применяться следующие три метода.