CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Beginner: Re: [sdlan75] How to read only the first line: Edit Log



FishMonger
Veteran / Moderator

May 25, 2013, 8:44 AM


Views: 603
Re: [sdlan75] How to read only the first line

Here's a skeleton of the script I'd work with.


Code
#!/usr/bin/perl 

use 5.10.1;
use strict;
use warnings;

@ARGV == 2 or die "wrong number of args\n";
my ($option, $file) = @ARGV;

my %actions = (
'-n' => \&print_name,
'-s' => \&print_salary,
'-b' => \&print_bonus,
usage => \&print_usage,
);

my $action = $actions{$option} || $actions{usage};
$action->($file);


sub parse_file {
# code that parses the file and returns the data in a hash
# hash keys would be 'name', 'salary', and 'bonus'.
}

sub print_name {
my %employees = parse_file($_[0]);

}

sub print_salary {
my %employees = parse_file($_[0]);

}

sub print_bonus {
my %employees = parse_file($_[0]);

}

sub print_usage {
print "Invalid arg was passed\n",
"Usage: $0 [-n -b -s] filename\n";
}


The parsing of the file could be done outside of the "print" subs to eliminate the duplication of that statement in each sub.


(This post was edited by FishMonger on May 25, 2013, 8:45 AM)


Edit Log:
Post edited by FishMonger (Veteran) on May 25, 2013, 8:45 AM


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives