#!/usr/bin/perl use strict; use warnings qw(all); #unshift ""; my $loc = ""; my $sum = ""; my @record; for (<>) { chomp; if(/^SUMMARY:(.+?)\\n.*/) { $sum = $1; } elsif(/^LOCATION:(.+?)\n/) { $loc = $1; } elsif(/^END:VEVENT/) { print "$_\n" for (@record); print "SUMMARY:$loc: $sum\n"; # print "LOCATION:$loc\n"; print "END:VEVENT\n"; @record = (); } else { push @record, $_; } }