in reply to Perl noob is lost
Here is something that might get you started.
use strict; use warnings; use Data::Dumper; foreach my $file (glob("*.ATT")) { open(my $fh, '<', $file) or die "$file: $!"; my %params = map { chomp($_); my ($key, $value) = split(/=/, $_); $value="" unless(defined($value)); ($key, $value) } <$fh>; close($fh); next if( $params{'page_id'} =~ m/(^\s*$|\?)/ or $params{'site_code'} =~ m/(^\s*$|\?)/ or $params{'subject_id'} =~ m/(^\s*$|\?)/ ); $params{'page_description'} .= "some text - $params{'page_id'}"; print Dumper(\%params); }
Given a file test.ATT with the content as in your example, this produces:
$VAR1 = { 'content_provider' => '(removed)', 'page_id' => '#### (usually 3-5 digits)', 'OBJECT' => '(removed)', 'SAVE' => '', 'study_number' => '(removed)', 'CONTENT' => 'test.pdf', 'page_description' => 'some text - #### (usually 3-5 digits) +', 'subject_id' => '#########', 'site_code' => '###', 'product' => '(removed)' };
To understand how this works you may find some of the perl manual pages helpful (perldata, perlop, perlfunc, perlsyn, perlre) and, for a gentler introduction you might like to start from Where and how to start learning Perl.
Good luck learning perl!
update: corrected the update of page_description.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl noob is lost
by sensesfail (Initiate) on Apr 05, 2009 at 15:48 UTC | |
by ig (Vicar) on Apr 05, 2009 at 18:29 UTC | |
by sensesfail (Initiate) on Apr 06, 2009 at 01:24 UTC | |
by ig (Vicar) on Apr 06, 2009 at 21:10 UTC |