Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Line by line parsing from one file, comparing line by line to another file

by Polyglot (Pilgrim)
on Jul 05, 2009 at 04:15 UTC ( #777300=note: print w/ replies, xml ) Need Help??


in reply to Line by line parsing from one file, comparing line by line to another file

#!/usr/bin/perl #read each line in test1.txt into data_file array use strict; use warnings; my $data_file = "test1.txt"; my $names_file = "code.txt"; my $target_file = "target.txt"; my @data = (); # Cannot be the same name as above my @names_data = (); my @target = (); my $line = ''; open(DATA, $data_file) || die ("Could not open file! $!\n"); @data=<DATA>; close DATA; open(NAMES, $names_file) || die ("Could not open file! $!\n"); @names_data=<NAMES>; close NAMES; #read each line in code.txt into a names_file array foreach $line (@data) { #create loop that reads each ID in #code.txt (NAMES array), searches for #each in array elements for test1.txt #(DATA array), redirects a new #(NAMES).html for each element foreach ( @names_data ) { chomp; push @target, qq|$line<0> > +("$_<0>.html")\n|; #I do not understand what you are trying to do above... #Just modify the part between the pipes |...\n| to include #whatever variables you are wanting. } } open TARGET ">$target_file" || die "Cannot open target file. $!\n"; print TARGET @target; close TARGET;

Blessings,

~Polyglot~


Comment on Re: Line by line parsing from one file, comparing line by line to another file
Download Code
Replies are listed 'Best First'.
Re^2: Line by line parsing from one file, comparing line by line to another file
by web_developer (Initiate) on Jul 05, 2009 at 04:27 UTC
    OK, now I understand!
    Thank you, however, the variable is just the
    element (ie unique name (names).html), i added the <0>
    as I thought based on my ksh script, which is terribly slow
    required a (cnt(cnt+1)) with cnt(0).html as the
    output to redirct to.
    But I had to then had to rename 1.html, 2.html and so forth
    into a 12345.html, 34343.html for example
    I am going to test this to see what happens
Re^2: UPDATE: Line by line parsing from one file, comparing line by line to another file
by web_developer (Initiate) on Jul 05, 2009 at 04:57 UTC
    Upon my modifications, and executing the script, I get the following errors.
    $ perl.exe perl1.pl
    Variable "$NAMES" is not imported at perl1.pl line 36.
    Global symbol "$NAMES" requires explicit package name at perl1.pl line 36.
    Missing comma after first argument to open function at perl1.pl line 43, near ""
    Cannot open target file. $!\n";"
    Execution of perl1.pl aborted due to compilation errors. UPDATE- Modifications.
    #!/usr/bin/perl
    #read each line in test1.txt into data_file array

    use strict;
    use warnings;

    my $data_file = "test1.txt";
    my $names_file = "code.txt";
    my $target_file = "target.txt";
    my @data = (); # Cannot be the same name as above
    my @names_data = ();
    my @target = ();
    my $line = '';

    open(DATA, $data_file)
          || die ("Could not open file! $!\n");
    @data=<DATA>;
    close DATA;

    open(NAMES, $names_file)
          || die ("Could not open file! $!\n");
    @names_data=<NAMES>;
    close NAMES;

    #read each line in code.txt into a names_file array
    foreach $line (@data) {

    #create loop that reads each ID in
    #code.txt (NAMES array), searches for
    #each in array elements for test1.txt
    #(DATA array), redirects a new
    #(NAMES).html for each element
    foreach ( @names_data )
    {
    chomp;
    push @target, qq|$line<0> > +("$NAMES.html")\n|;
    #I do not understand what you are trying to do above...
    #Just modify the part between the pipes |...\n| to include
    #whatever variables you are wanting.
    }
    }
    open TARGET ">$target_file"
         || die "Cannot open target file. $!\n";
    print TARGET @target;
    close TARGET;

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://777300]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (15)
As of 2015-07-07 18:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls