Sponsored Content
Full Discussion: Accessing files with perl
Top Forums Shell Programming and Scripting Accessing files with perl Post 302199916 by chriss_58 on Wednesday 28th of May 2008 06:06:26 AM
Old 05-28-2008
Accessing files with perl

Hello i am new to Perl and i have a question.

I am trying to read a file that has the following format:

14/4/2008 8:42:03 πμ|10800|306973223399|4917622951117|1||1259|1|126|492|433||19774859454$
14/4/2008 9:13:08 πμ|10800|306973223399|306970097423|1||1264|1|126|492|878||19774859762$
14/4/2008 9:15:38 πμ|10800|306973223399|E-MAIL|1||1270|1|126|492|903||19774859792$
14/4/2008 9:05:50 πμ|10800|306973223399|306973223323|1|34||0|133|2530|816|4139063897|19775160876$
14/4/2008 8:15:57 πμ|10800|306973223399|306974439999|1|0||1|3|500|878|019D096290|19775241815$
$


I read the first line and i add the line to an array using the following code;
Code:
sub parse_csv {
    my $text = shift;
    my @new  = ();
    push( @new, $+ ) while $text =~ m{
       "([^\"\\]*(?:\\.[^\"\\]*)*)",?
           |  ([^|]+),?
           | ,
       }gx;
    push( @new, undef ) if substr( $text, -1, 1 ) eq ',';
    return @new;


The problem is that when in the file (for example line 2) two "||" exists the null value is not added to the array. So in the array less fields exist. How can i modify the code above in order for the null values to be addede in the array as well.

Thank you very much fo your help!

Last edited by Yogesh Sawant; 05-28-2008 at 09:09 AM.. Reason: added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Accessing Files on another drive

Hey..alright heres the deal I'm going to do a triple boot if you would Win98SE, Win2K, and Redhat Linux 7.1 now I have two HDs each with 30 gigs i've allowed one HD to the OS's with 10 gigs each...the third I intend to be one for windows to pull things thats compliant with both 98 and 2k and store... (2 Replies)
Discussion started by: PravusMentis
2 Replies

2. Shell Programming and Scripting

accessing variables declared in another perl script

Hi all, I have a perl script which declares two variables and calls another perl script which accesses those variables. But I am unable to access the variables in the called script. My script is as follows: my $ENV{a}="20"; system("perl called.pl"); and my called.pl contains: print... (3 Replies)
Discussion started by: gurukottur
3 Replies

3. Shell Programming and Scripting

accessing a function in ksh from perl

is it possible? Because I know we could use open(A, `abc.ksh`); to access a ksh, but is it possible to access just one (or more) function from the ksh script? (2 Replies)
Discussion started by: ahtat99
2 Replies

4. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

5. Shell Programming and Scripting

Accessing VSS through Perl

Hi All, can you please let me know how to copy entire files in a directory of VSS to a local folder. i am using PERL to access the VSS. Thanks in Advance regards, aditya Mahi (1 Reply)
Discussion started by: adityamahi
1 Replies

6. Web Development

Accessing a Perl CGI script, security issue

Hi Everybody, I was wondering if it was possible for someone to gain access to my Perl CGI scripts before they are interpreted by Perl (mod_perl on apache2) i.e. getting a hold of my raw scripts and not the html output? Let's say I use the DBI module where I have the hostname, user and... (2 Replies)
Discussion started by: z1dane
2 Replies

7. Shell Programming and Scripting

Accessing Multiple files using for loop

Hi All, I have some files in my directory, and i want to pull all data using for loop....I am using following code but getting error..! for file in {file1, file2, file3, ..... filen} do L="$(tail -1 $file)";NUM=${L%%|*};DAT=${L##*|} echo $NUM>>filedata.txt done Error: tail:... (3 Replies)
Discussion started by: fidelis
3 Replies

8. Shell Programming and Scripting

PERL on windows accessing variables from a config file

Folks, I'm a perl moron, so please speak very slowly. : ) I'm modifying a build script that starts up an apache server. Now there is a .config file that hardcodes an old webserver path like this c:\oldWebserver. Now I don't want that hardcoded value, rather wish to use an... (3 Replies)
Discussion started by: MarkoRocko
3 Replies

9. Shell Programming and Scripting

Perl: accessing reference to variable inside hash.

Below is hash which contains reference to variables: my %mandatoryFields = ( 1 => \$msgtype, 2 => \$switchtype, 3 => \$card_nbr, 4 => \$natv_tran_type_code, 5 => \$amt_1 ); This... (0 Replies)
Discussion started by: som.nitk
0 Replies

10. Shell Programming and Scripting

Accessing files in batch

hai, I have a list of files having extension .sy in a folder. I want to find such files and print the first two columns of the files to new extension .tmp (1 Reply)
Discussion started by: sreejithalokkan
1 Replies
DateTime::Locale::ky(3) 				User Contributed Perl Documentation				   DateTime::Locale::ky(3)

NAME
DateTime::Locale::ky SYNOPSIS
use DateTime; my $dt = DateTime->now( locale => 'ky' ); print $dt->month_name(); DESCRIPTION
This is the DateTime locale package for Kirghiz. DATA
This locale inherits from the DateTime::Locale::root locale. It contains the following data. Days Wide (format) 2 3 4 5 6 7 1 Abbreviated (format) 2 3 4 5 6 7 1 Narrow (format) 2 3 4 5 6 7 1 Wide (stand-alone) 2 3 4 5 6 7 1 Abbreviated (stand-alone) 2 3 4 5 6 7 1 Narrow (stand-alone) 2 3 4 5 6 7 1 Months Wide (format) 1 2 3 4 5 6 7 8 9 10 11 12 Abbreviated (format) 1 2 3 4 5 6 7 8 9 10 11 12 Narrow (format) 1 2 3 4 5 6 7 8 9 10 11 12 Wide (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Abbreviated (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Narrow (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Quarters Wide (format) Q1 Q2 Q3 Q4 Abbreviated (format) Q1 Q2 Q3 Q4 Narrow (format) 1 2 3 4 Wide (stand-alone) Q1 Q2 Q3 Q4 Abbreviated (stand-alone) Q1 Q2 Q3 Q4 Narrow (stand-alone) 1 2 3 4 Eras Wide BCE CE Abbreviated BCE CE Narrow BCE CE Date Formats Full 2008-02-05T18:30:30 = 3, 2008 2 05 1995-12-22T09:05:02 = 6, 1995 12 22 -0010-09-15T04:44:23 = 7, -10 9 15 Long 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Medium 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Short 2008-02-05T18:30:30 = 08/02/05 1995-12-22T09:05:02 = 95/12/22 -0010-09-15T04:44:23 = -10/09/15 Default 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Time Formats Full 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Long 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Medium 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Short 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 09:05 -0010-09-15T04:44:23 = 04:44 Default 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Datetime Formats Full 2008-02-05T18:30:30 = 3, 2008 2 05 18:30:30 UTC 1995-12-22T09:05:02 = 6, 1995 12 22 09:05:02 UTC -0010-09-15T04:44:23 = 7, -10 9 15 04:44:23 UTC Long 2008-02-05T18:30:30 = 2008 2 5 18:30:30 UTC 1995-12-22T09:05:02 = 1995 12 22 09:05:02 UTC -0010-09-15T04:44:23 = -10 9 15 04:44:23 UTC Medium 2008-02-05T18:30:30 = 2008 2 5 18:30:30 1995-12-22T09:05:02 = 1995 12 22 09:05:02 -0010-09-15T04:44:23 = -10 9 15 04:44:23 Short 2008-02-05T18:30:30 = 08/02/05 18:30 1995-12-22T09:05:02 = 95/12/22 09:05 -0010-09-15T04:44:23 = -10/09/15 04:44 Default 2008-02-05T18:30:30 = 2008 2 5 18:30:30 1995-12-22T09:05:02 = 1995 12 22 09:05:02 -0010-09-15T04:44:23 = -10 9 15 04:44:23 Available Formats d (d) 2008-02-05T18:30:30 = 5 1995-12-22T09:05:02 = 22 -0010-09-15T04:44:23 = 15 EEEd (d EEE) 2008-02-05T18:30:30 = 5 3 1995-12-22T09:05:02 = 22 6 -0010-09-15T04:44:23 = 15 7 Hm (H:mm) 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 9:05 -0010-09-15T04:44:23 = 4:44 hm (h:mm a) 2008-02-05T18:30:30 = 6:30 PM 1995-12-22T09:05:02 = 9:05 AM -0010-09-15T04:44:23 = 4:44 AM Hms (H:mm:ss) 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 9:05:02 -0010-09-15T04:44:23 = 4:44:23 hms (h:mm:ss a) 2008-02-05T18:30:30 = 6:30:30 PM 1995-12-22T09:05:02 = 9:05:02 AM -0010-09-15T04:44:23 = 4:44:23 AM M (L) 2008-02-05T18:30:30 = 2 1995-12-22T09:05:02 = 12 -0010-09-15T04:44:23 = 9 Md (M-d) 2008-02-05T18:30:30 = 2-5 1995-12-22T09:05:02 = 12-22 -0010-09-15T04:44:23 = 9-15 MEd (E, M-d) 2008-02-05T18:30:30 = 3, 2-5 1995-12-22T09:05:02 = 6, 12-22 -0010-09-15T04:44:23 = 7, 9-15 MMM (LLL) 2008-02-05T18:30:30 = 2 1995-12-22T09:05:02 = 12 -0010-09-15T04:44:23 = 9 MMMd (MMM d) 2008-02-05T18:30:30 = 2 5 1995-12-22T09:05:02 = 12 22 -0010-09-15T04:44:23 = 9 15 MMMEd (E MMM d) 2008-02-05T18:30:30 = 3 2 5 1995-12-22T09:05:02 = 6 12 22 -0010-09-15T04:44:23 = 7 9 15 MMMMd (MMMM d) 2008-02-05T18:30:30 = 2 5 1995-12-22T09:05:02 = 12 22 -0010-09-15T04:44:23 = 9 15 MMMMEd (E MMMM d) 2008-02-05T18:30:30 = 3 2 5 1995-12-22T09:05:02 = 6 12 22 -0010-09-15T04:44:23 = 7 9 15 ms (mm:ss) 2008-02-05T18:30:30 = 30:30 1995-12-22T09:05:02 = 05:02 -0010-09-15T04:44:23 = 44:23 y (y) 2008-02-05T18:30:30 = 2008 1995-12-22T09:05:02 = 1995 -0010-09-15T04:44:23 = -10 yM (y-M) 2008-02-05T18:30:30 = 2008-2 1995-12-22T09:05:02 = 1995-12 -0010-09-15T04:44:23 = -10-9 yMEd (EEE, y-M-d) 2008-02-05T18:30:30 = 3, 2008-2-5 1995-12-22T09:05:02 = 6, 1995-12-22 -0010-09-15T04:44:23 = 7, -10-9-15 yMMM (y MMM) 2008-02-05T18:30:30 = 2008 2 1995-12-22T09:05:02 = 1995 12 -0010-09-15T04:44:23 = -10 9 yMMMEd (EEE, y MMM d) 2008-02-05T18:30:30 = 3, 2008 2 5 1995-12-22T09:05:02 = 6, 1995 12 22 -0010-09-15T04:44:23 = 7, -10 9 15 yMMMM (y MMMM) 2008-02-05T18:30:30 = 2008 2 1995-12-22T09:05:02 = 1995 12 -0010-09-15T04:44:23 = -10 9 yQ (y Q) 2008-02-05T18:30:30 = 2008 1 1995-12-22T09:05:02 = 1995 4 -0010-09-15T04:44:23 = -10 3 yQQQ (y QQQ) 2008-02-05T18:30:30 = 2008 Q1 1995-12-22T09:05:02 = 1995 Q4 -0010-09-15T04:44:23 = -10 Q3 yyQ (Q yy) 2008-02-05T18:30:30 = 1 08 1995-12-22T09:05:02 = 4 95 -0010-09-15T04:44:23 = 3 -10 Miscellaneous Prefers 24 hour time? Yes Local first day of the week 2 SUPPORT
See DateTime::Locale. AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT
Copyright (c) 2008 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This module was generated from data provided by the CLDR project, see the LICENSE.cldr in this distribution for details on the CLDR data's license. perl v5.16.3 2014-06-10 DateTime::Locale::ky(3)
All times are GMT -4. The time now is 06:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy