#!/usr/bin/perl use strict; use warnings; my $file = '/path/to/file.txt'; my $context_file = '/path/to/context.txt'; my $message_file = '/path/to/message.txt'; open my $context, '>', $context_file or die $!; open my $message, '>', $message_file or die $!; open my $in , '<', $file or die $!; while( my $line = <$in> ){ if( $line =~ /^Context/ ){ $line =~ s/^Context:\s+//; $line =~ tr/ /|/; print $context $line; } elsif( $line =~ /^Message:/ ){ print $message $line; } } close $in; close $message; close $context;