Sponsored Content
Full Discussion: prepare a perl tuts
Top Forums UNIX for Dummies Questions & Answers prepare a perl tuts Post 302361418 by pludi on Tuesday 13th of October 2009 06:49:34 AM
Old 10-13-2009
My approach would be: take a simple problem that's easy with Perl, eg. parsing a file and writing the statistics to a database. Then proceed designing the program like you would in any other language. Where ever applicable, demonstrate TMTOWTDI. Demonstrate CPAN by downloading and installing DBD::SQLite as the database, and the power of perldoc to read it's documentation.
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

prepare log for access

I need help with one of my log files I got following format: This is only a smal part of the file ! ......... -------------------------------------- 2003-08-05 12:23:13.939781 logNo : 1380008 Server started - Activate; 10.48.4.51 -------------------------------------- 2003-08-05 ... (4 Replies)
Discussion started by: joerg
4 Replies

2. Shell Programming and Scripting

How can i prepare a file by comparing two other files?

File 1 data: TestA TestB TestC File 2 data: TestA TestD TestE My Output File (pick all from both and create a file without duplicate data) ---------------------------------------------------------------------- TestA TestB TestC (3 Replies)
Discussion started by: manmohanpv
3 Replies

3. Shell Programming and Scripting

Grep, then format then prepare a string

Hi I have a file which is having line like below Personal Unit=AU003 (Industrial Products Division),Plant=B00089,Departmant=D110 When ever i fine line starting sith Personal Unit and contains Plant Department I need to pick this line and format it like Personal Unit=AU003 ... (7 Replies)
Discussion started by: krishna.fuji
7 Replies

4. Shell Programming and Scripting

Prepare command before executing

Hi, Couldnt find the right string" to search for a similar question..so dont know if this has been answered yet...problem is that I want to prepare a command with the requisite parameters passed as a string before executing it...eg: the ls command .. I can pass "-l", "-t" as parameters and... (12 Replies)
Discussion started by: harman_6
12 Replies

5. UNIX for Dummies Questions & Answers

prepare a tar package

I have installed apache2 on Solaris machine with the binary. So i dont want to install the same binary across all the systems but only want to copy the lib files and the files which have been updated in this installation process. So in order to get those lib files and then prepare a tar package... (5 Replies)
Discussion started by: prash358
5 Replies

6. Red Hat

Modprobe prepare new IP address

Hello, I m working on virtualization and saved the templates in virtual server. On creating the new Virtual machine or linux system, is there a way where during booting, it should prompt for new IP address, gateway, DNS and hostname? Or is there any configuration in linux where we can modify... (5 Replies)
Discussion started by: alnhk
5 Replies

7. Shell Programming and Scripting

Prepare file run report

I have a requirement to prepare a report. We validate some incoming data fields and create validation_error reports which will contain records which do not pass validation. Once files are processed they will all be dropped under one folder. EMPLOYEE_20140915.txt... (8 Replies)
Discussion started by: member2014
8 Replies

8. Shell Programming and Scripting

How can i prepare grant staement with 2 files ?

---file1 ( tables A B C D E F ... ... Z ---file2 Joe Bob Mary Sally Fred Elmer David (1 Reply)
Discussion started by: rocking77
1 Replies
DBD::SQLite::Cookbook(3)				User Contributed Perl Documentation				  DBD::SQLite::Cookbook(3)

NAME
DBD::SQLite::Cookbook - The DBD::SQLite Cookbook DESCRIPTION
This is the DBD::SQLite cookbook. It is intended to provide a place to keep a variety of functions and formals for use in callback APIs in DBD::SQLite. AGGREGATE FUNCTIONS
Variance This is a simple aggregate function which returns a variance. It is adapted from an example implementation in pysqlite. package variance; sub new { bless [], shift; } sub step { my ( $self, $value ) = @_; push @$self, $value; } sub finalize { my $self = $_[0]; my $n = @$self; # Variance is NULL unless there is more than one row return undef unless $n || $n == 1; my $mu = 0; foreach my $v ( @$self ) { $mu += $v; } $mu /= $n; my $sigma = 0; foreach my $v ( @$self ) { $sigma += ($v - $mu)**2; } $sigma = $sigma / ($n - 1); return $sigma; } # NOTE: If you use an older DBI (< 1.608), # use $dbh->func(..., "create_aggregate") instead. $dbh->sqlite_create_aggregate( "variance", 1, 'variance' ); The function can then be used as: SELECT group_name, variance(score) FROM results GROUP BY group_name; Variance (Memory Efficient) A more efficient variance function, optimized for memory usage at the expense of precision: package variance2; sub new { bless {sum => 0, count=>0, hash=> {} }, shift; } sub step { my ( $self, $value ) = @_; my $hash = $self->{hash}; # by truncating and hashing, we can comsume many more data points $value = int($value); # change depending on need for precision # use sprintf for arbitrary fp precision if (exists $hash->{$value}) { $hash->{$value}++; } else { $hash->{$value} = 1; } $self->{sum} += $value; $self->{count}++; } sub finalize { my $self = $_[0]; # Variance is NULL unless there is more than one row return undef unless $self->{count} > 1; # calculate avg my $mu = $self->{sum} / $self->{count}; my $sigma = 0; while (my ($h, $v) = each %{$self->{hash}}) { $sigma += (($h - $mu)**2) * $v; } $sigma = $sigma / ($self->{count} - 1); return $sigma; } The function can then be used as: SELECT group_name, variance2(score) FROM results GROUP BY group_name; Variance (Highly Scalable) A third variable implementation, designed for arbitrarily large data sets: package variance3; sub new { bless {mu=>0, count=>0, S=>0}, shift; } sub step { my ( $self, $value ) = @_; $self->{count}++; my $delta = $value - $self->{mu}; $self->{mu} += $delta/$self->{count}; $self->{S} += $delta*($value - $self->{mu}); } sub finalize { my $self = $_[0]; return $self->{S} / ($self->{count} - 1); } The function can then be used as: SELECT group_name, variance3(score) FROM results GROUP BY group_name; FTS fulltext indexing Sparing database disk space As explained in <http://www.sqlite.org/fts3.html#fts4_options>, several options are available to specify how SQLite should store indexed documents. One strategy is to use SQLite only for the fulltext index and metadata, and keep the full documents outside of SQLite; to do so, use the "content=""" option. For example, the following SQL creates an FTS4 table with three columns - "a", "b", and "c": CREATE VIRTUAL TABLE t1 USING fts4(content="", a, b, c); Data can be inserted into such an FTS4 table using an INSERT statements. However, unlike ordinary FTS4 tables, the user must supply an explicit integer docid value. For example: -- This statement is Ok: INSERT INTO t1(docid, a, b, c) VALUES(1, 'a b c', 'd e f', 'g h i'); -- This statement causes an error, as no docid value has been provided: INSERT INTO t1(a, b, c) VALUES('j k l', 'm n o', 'p q r'); Of course your application will need an algorithm for finding the external resource corresponding to any docid stored within SQLite. Furthermore, SQLite "offsets()" and "snippet()" functions cannot be used, so if such functionality is needed, it has to be directly programmed within the Perl application. SUPPORT
Bugs should be reported via the CPAN bug tracker at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBD-SQLite> TO DO
o Add more and varied cookbook recipes, until we have enough to turn them into a separate CPAN distribution. o Create a series of tests scripts that validate the cookbook recipes. AUTHOR
Adam Kennedy <adamk@cpan.org> Laurent Dami <dami@cpan.org> COPYRIGHT
Copyright 2009 - 2012 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.18.2 2013-05-28 DBD::SQLite::Cookbook(3)
All times are GMT -4. The time now is 03:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy