use strict; use warnings; use File::Basename; use Text::ParseWords; if ($#ARGV == 0) { open my $file, "<", $ARGV[0] or die "Couldn't open file '$ARGV[0]': $! \nDid you specify a valid file?"; my ($ID,$ISIN,$SYMBOL); while (<$file>) { if ($_ =~ m/ID:/) { $ID = getValue($_); } if ($_ =~ m/Symbol:/) { $SYMBOL = getValue($_); } if ($_ =~ m/ISIN:/) { $ISIN = getValue($_); print "$ID:$ISIN:$SYMBOL\n"; } } } else { print "You need to specify an input file \n"; print "Usage : ".basename($0)." difffile.txt \n"; exit; } sub getValue { $_ =~ s/\s+//g; my ($name, $value) = split(/:/); chomp($value); return $value; }