#!/usr/bin/perl -w use strict; package MyHandle; use Tie::Handle; use IO::Handle; use base 'Tie::StdHandle'; my %seps; sub READLINE { my $self = shift; local $/ = $seps{$self}; $self->SUPER::READLINE(@_); } sub set_input_separator { my $self = shift; $seps{$self} = shift; } sub DESTROY { delete $seps{shift}; } package main; my $fh = tie *FH2, 'MyHandle'; $fh->set_input_separator( "\007" ); open FH1, 'test1.txt'; open FH2, 'test2.txt'; while () { my $data1 = $_; chop($data1); my $data2 = ; chop($data2); print "(1)$data1\n(2)$data2\n"; }