punkish has asked for the wisdom of the Perl Monks concerning the following question:
my @msg = <DATA>; my $msg = join("", @msg); my $f = _extractInfoFromMsg($msg); my %f = %$f; print 'NEW TICKET NUMBER: ' . $f{TICKET_NUMBER} . "\n"; print 'OLD TICKET NUMBER: ' . $f{OLD_TICKET_NUMBER} . "\n"; print ' MESSAGE TYPE: ' . $f{MESSAGE_TYPE} . "\n"; print ' LEAD TIME: ' . $f{LEAD_TIME} . "\n"; sub _extractInfoFromMsg { $_ = shift; my %fields; $_ =~ /TICKET NUMBER-+\[(.*?)\]/; $fields{TICKET_NUMBER} = $1; $_ =~ /OLD TICKET NUMBER-+\[(.*?)\]/; $fields{OLD_TICKET_NUMBER} = $1; $_ =~ /MESSAGE TYPE-+\[(.*?)\]\s+LEAD TIME-+\[(.*?)\]/; $fields{MESSAGE_TYPE} = $1; $fields{LEAD_TIME} = $2; return \%fields; } __DATA__ TICKET NUMBER--[051580160] OLD TICKET NUM-[051540724] MESSAGE TYPE---[NORMAL] LEAD TIME--[72] PREPARED-------[06/07/05]
produces
D:\user\punkish>test.pl NEW TICKET NUMBER: 051580160 OLD TICKET NUMBER: 051580160 MESSAGE TYPE: NORMAL LEAD TIME: 72
instead of
NEW TICKET NUMBER: 051580160 OLD TICKET NUMBER: 051540724 MESSAGE TYPE: NORMAL LEAD TIME: 72
What is the obvious stupid thing that I am doing here? That is, why is the OLD TICKET NUMBER not correct?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Regexp matching blues
by cmeyer (Pilgrim) on Jun 28, 2005 at 22:28 UTC | |
by punkish (Priest) on Jun 28, 2005 at 22:31 UTC | |
by cmeyer (Pilgrim) on Jun 28, 2005 at 22:39 UTC | |
|
Re: Regexp matching blues
by Samy_rio (Vicar) on Jun 29, 2005 at 04:00 UTC | |
|
Re: Regexp matching blues
by l.frankline (Hermit) on Jun 29, 2005 at 14:37 UTC |