05-25-2008
Hope this helps set you in the right direction:
#!/usr/bin/env perl
use strict;
# define the file
my $file = "in-file.txt";
# open the file and dump it's contents into an array
open(FILE, "<$file") or die "Unable to open $file: $!\n";
my @FILE_IN = <FILE>;
close(FILE);
# define a couple of variables we'll need
my $total;
my $average;
# loop through the file and parse out the name, id, and the average
foreach(@FILE_IN) {
chomp;
if ($_ =~ /^([0-9]+).(\w+\s\w+).(.*)/) {
print "Name: $2\n";
print "ID#: $1\n";
my @MARKS = split('\s', $3);
my $num_of_marks = $#MARKS + 1;
foreach(@MARKS) {
$total += $_;
}
my $average = $total / $num_of_marks;
# adjust %.1f to the desired number of decimal places
printf "Avg. mark: %.1f\n\n", $average;
# reset the total and average variables
# otherwise they'll be carried over
# to the next run through the loop
$total = 0;
$average = 0;
} else {
print "There was a problem!\n";
exit(1);
}
}
exit(0);
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi Friends,
Can any one help me with count average of student marks in this file (i can not change structure of the input file):
input file:
1 - student ID
2 - student name
3 - group ID
4 - teacher ID
5 - marks (numbers of marks are different)
1:John Smith:2:3:2 3 4 5
2:Mark... (1 Reply)
Discussion started by: mleplawy
1 Replies
2. Shell Programming and Scripting
Hi all this is a UNIX question.
I have a large flat file with millions of records.
col1|col2|col3
1|a|b
2|c|d
3|e|f
3|g|h
footer****
I am supposed to calculate the sum of col1 1+2+3+3=9, count of col1 1,2,3,3=4, and distinct count of col1 1,2,3=c3
I would like it if you avoid... (4 Replies)
Discussion started by: singhabhijit
4 Replies
3. Shell Programming and Scripting
I have a sorted file like:
Apple 3
Apple 5
Apple 8
Banana 2
Banana 3
Grape 31
Orange 7
Orange 13
I'd like to search $1 and if $1 is not the same as $1 in the previous row print that row and print the number of times $1 was found.
so the output would look like:
Apple 8 3
Banana... (2 Replies)
Discussion started by: dcfargo
2 Replies
4. Shell Programming and Scripting
I am redirecting my ping output to a file. The sample output is like this:
64 bytes from xx.xx.xx.167: icmp_seq=4490 ttl=116 3.75 ms 2011Jul12- 15 40 16
64 bytes from xx.xx.xx.167: icmp_seq=4491 ttl=116 5.29 ms 2011Jul12- 15 40 17
64 bytes from xx.xx.xx.167: icmp_seq=4492 ttl=116 4.88 ms... (6 Replies)
Discussion started by: zorrox
6 Replies
5. Shell Programming and Scripting
Hi ,
Below is my sample data,I have this 8 column(A,B,C,D,E,F,G,H) in csv file.
A , B ,C ,D ,E ,F,G ,H
4141,127337,24,15,20,69,72.0,-3
4141,128864,24,15,20,65,66.0,-1
4141,910053,24,15,4,4,5.0,-1
4141,910383,24,15,22,3,4.0,-1
4141,496969,24,15,14,6,-24.0,-18... (7 Replies)
Discussion started by: vinothsekark
7 Replies
6. Shell Programming and Scripting
What I'm trying to accomplish. I receive a Header and Detail file for daily processing. The detail file comes first which holds data, the header is a receipt of the detail file and has the detail files record count. Before processing the detail file I would like to put a wrapper around another... (4 Replies)
Discussion started by: pone2332
4 Replies
7. UNIX for Beginners Questions & Answers
sorry i will revise first (1 Reply)
Discussion started by: fajar_3t3
1 Replies
8. UNIX for Beginners Questions & Answers
Hi Friends ,
I am having one problem as stated file .
Having an input CSV file as shown in the code
U_TOP_LOGIC/U_HPB2/U_HBRIDGE2/i_core/i_paddr_reg_2_/Q,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0... (4 Replies)
Discussion started by: kshitij
4 Replies
9. UNIX for Beginners Questions & Answers
Hi,
I have a file with a list of bunch of IP addresses from different VLAN's . I am trying to find the list the number of each vlan occurence in the output
Here is how my file looks like
1.1.1.1
1.1.1.2
1.1.1.3
1.1.2.1
1.1.2.2
1.1.3.1
1.1.3.2
1.1.3.3
1.1.3.4
So what I am trying... (2 Replies)
Discussion started by: new2prog
2 Replies
LEARN ABOUT DEBIAN
svn::dump
SVN::Dump(3pm) User Contributed Perl Documentation SVN::Dump(3pm)
NAME
SVN::Dump - A Perl interface to Subversion dumps
SYNOPSIS
#!/usr/bin/perl
use strict;
use warnings;
use SVN::Dump;
my $file = shift;
my $dump = SVN::Dump->new( { file => $file } );
# compute some stats
my %type;
my %kind;
while ( my $record = $dump->next_record() ) {
$type{ $record->type() }++;
$kind{ $record->get_header('Node-action') }++
if $record->type() eq 'node';
}
# print the results
print "Statistics for dump $file:
",
" version: ", $dump->version(), "
",
" uuid: ", $dump->uuid(), "
",
" revisions: ", $type{revision}, "
",
" nodes: ", $type{node}, "
";
print map { sprintf " - %-7s: %d
", $_, $kind{$_} } sort keys %kind;
DESCRIPTION
This module is an alpha release. The interfaces will probably change in the future, as I slowly learn my way inside the SVN dump format.
An "SVN::Dump" object represents a Subversion dump.
This module follow the semantics used in the reference document (the file notes/fs_dumprestore.txt in the Subversion source tree):
o A dump is a collection of records ("SVN::Dump::Record" objects).
o A record is composed of a set of headers (a "SVN::Dump::Headers" object), a set of properties (a "SVN::Dump::Property" object) and an
optional bloc of text (a "SVN::Dump::Text" object).
o Some special records ("delete" records with a "Node-kind" header) recursively contain included records.
Each class has a "as_string()" method that prints its content in the dump format.
The most basic thing you can do with "SVN::Dump" is simply copy a dump:
use SVN::Dump;
my $dump = SVN::Dump->new( 'mydump.svn' );
print $dump->as_string(); # only print the dump header
while( $rec = $dump->next_record() ) {
print $rec->as_string();
}
After the operation, the resulting dump should be identical to the original dump.
METHODS
"SVN::Dump" provides the following methods:
new( \%args )
Return a new "SVN::Dump" object.
The argument list is a hash reference.
If the "SVN::Dump" object will read information from a file, the arguments "file" is used (as usal, "-" means "STDIN"); if the dump is
read from a filehandle, "fh" is used.
Extra options will be passed to the "SVN::Dump::Reader" object that is created.
If the "SVN::Dump" isn't used to read information, the parameters "version" and "uuid" can be used to initialise the values of the
"SVN-fs-dump-format-version" and "UUID" headers.
next_record()
Return the next record read from the dump. This is a "SVN::Dump::Record" object.
version()
format()
Return the dump format version, if the version record has already been read, or if it was given in the constructor.
uuid()
Return the dump UUID, if there is an UUID record and it has been read, or if it was given in the constructor.
as_string()
Return a string representation of the dump specific blocks (the "format" and "uuid" blocks only).
SEE ALSO
"SVN::Dump::Reader", "SVN::Dump::Record".
The reference document for Subversion dumpfiles is at: <http://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt>
COPYRIGHT
Copyright 2006-2011 Philippe Bruhat (BooK), All Rights Reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2011-03-22 SVN::Dump(3pm)