perl + array and incrementing number


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting perl + array and incrementing number
# 1  
Old 01-08-2002
perl + array and incrementing number

morning guys and gals,

I am haveing a problem, a friend helped me out with this script but i dont know how to add incrementing number for each movie in movie.list. this is what i have so far. any assistance would be great.

I have removed the GT and LT symbols so you can see what is going on in the array.

Code:
#! /usr/bin/perl -w

use strict;

my $src_list = 'movie.list';

open SRC, $src_list or die "Couldn't read $src_list: $!\n";
my @movies = sort <SRC>;

my $dst_list = 'dvd-list.html';
open(HTML, "> $dst_list") or die "Can't write to $dst_list: $!\n";

print HTML "

my basic html goes here";

for (@movies) {

    # The order here needs to be fixed.
  my ($title, $run_time, $mpaa_rating, $genre, $prod_company) = split ':', $_;
  print HTML "tr";
    # Make sure we get no undef vars.
  print HTML "td $_ /td"
      for map {$_ || ''} $title, $run_time, $mpaa_rating, $genre, $prod_company;
  print HTML "/tr\n";
}

print HTML "/table
/html";

# 2  
Old 01-09-2002
Is this what you are wanting to do?

Code:
#! /usr/bin/perl -w

use strict;

my $src_list = 'movie.list';

open SRC, $src_list or die "Couldn't read $src_list: $!\n";
my @movies = sort ;

my $dst_list = 'dvd-list.html';
open(HTML, "> $dst_list") or die "Can't write to $dst_list: $!\n";

print HTML "

my basic html goes here";

# Add variable to display "Current Record Number"
my $movieCount = 1;

for (@movies) {

    # The order here needs to be fixed.
  my ($title, $run_time, $mpaa_rating, $genre, $prod_company) = split ':', $_;
  print HTML "tr";
    # Make sure we get no undef vars.
  print HTML "td $_ /td"
      for map {$_ || ''} $movieCount $title, $run_time, $mpaa_rating, $genre, $prod_company;
  print HTML "/tr\n";
  # Increment $movieCount by one with each display
  $movieCount++;
}

print HTML "/table
/html";

Notice that all I did was add the $movieCount variable declaration above the `for (@movies` line and added a post-fix increment to the $movieCount variable after the `for map` line so that after each loop and display, $movieCount will increment.

If not, please let me know.
# 3  
Old 01-09-2002
i think that will work.

in the end on the webpage there should be a number next to the movie so i dont have to manualy count how manyy i have.
# 4  
Old 01-09-2002
Ooooohhh.

Then try this:

Code:
#! /usr/bin/perl -w

use strict;

my $src_list = 'movie.list';

open SRC, $src_list or die "Couldn't read $src_list: $!\n";
my @movies = sort ;

my $dst_list = 'dvd-list.html';
open(HTML, "> $dst_list") or die "Can't write to $dst_list: $!\n";

print HTML "

my basic html goes here";

# Add variable to display "Current Record Number"
my $movieCount = 1;

for (@movies) {

    # The order here needs to be fixed.
  my ($title, $run_time, $mpaa_rating, $genre, $prod_company) = split ':', $_;
  print HTML "tr";
    # Make sure we get no undef vars.
  print HTML "td $_ /td"
      for map {$_ || ''} $movieCount $title, $run_time, $mpaa_rating, $genre, $prod_company;
  print HTML "/tr\n";
  # Increment $movieCount by one with each display
  $movieCount++;
}

$movieCount--;

print HTML "(br)(b) There are $movieCount movies in the library.(/b)\n";

print HTML "/table
/html";

# 5  
Old 07-18-2008
input:
Code:
leo:30
stt:25
tony:31

code:
Code:
open SFH,"<staff.txt" or die "Can not open file";
open HFH,">staff.html" or die "Can not open file";
print HFH "<HTML>\n";
while(<SFH>){
print HFH "<member",$.,">\n";
my ($name,$age)= split ":",$_;
$age=~ tr/\n//d;
print HFH "<name> ",$name," </name>\n";
print HFH "<age> ",$age, "</age>\n";
print HFH "</member",$.,">\n";
}
print HFH "</HTML>\n";
close(HFH);
close(SFH);

output:
Code:
<HTML>
<member1>
<name> leo </name>
<age> 30</age>
</member1>
<member2>
<name> stt </name>
<age> 25</age>
</member2>
<member3>
<name> tony </name>
<age> 31</age>
</member3>
</HTML>

# 6  
Old 07-18-2008
are you for real? Another ancient thread dug up.

01-08-2002
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

UNIX replacing and incrementing number

Hi I am unix newbie looking for a unix bash script that can make it easier to do my code work. we have a code number for each code block that we want to incrementally assign. We have 10000 of these and it is very laborious to do this one by one. so what we want is start from the top of the... (4 Replies)
Discussion started by: chamajid
4 Replies

2. UNIX for Beginners Questions & Answers

Incrementing the New File Version Number

Hi, This is my first post here. I am using cygwin on Windows 7. I am starting with a data file with filename "name_1.ext", like "20180831_snapgenotypes_1.csv". The "_1" before ".ext" is a version number. Integers (0-99) are sufficient. They don't have to be like "1.0.0". The filename may... (2 Replies)
Discussion started by: minimalist
2 Replies

3. Shell Programming and Scripting

Incrementing parts of ten digits number by parts

I have number in file which contains date and serial number: 2013101000. The last two digits are serial number (00). So maximum of serial number is 100. After reaching 100 it becomes 00 with incrementing 10 which is day with max 31. after reaching 31 it becomes 00 and increments 10... (31 Replies)
Discussion started by: Natalie
31 Replies

4. Shell Programming and Scripting

Replacing string by incrementing number

Dear all Say I have a file as ! TICKET NBR : 234 !GSI : 102 ! 3100.2.112.1 11/06/2013 15:56:29 ! 3100.2.22.3 98 ! 3100.2.134.2 8 ! ! TICKET NBR : 1809 ! GSI : 102 ! 3100.2.112.1 11/06/2013 16:00:45 ! 3100.2.22.3 65 ! 3100.2.134.2 3 ! ! TICKET NBR : 587 ! GSI : 102 ! 3100.2.112.1... (3 Replies)
Discussion started by: OTNA
3 Replies

5. UNIX for Dummies Questions & Answers

Incrementing the New File Version Number

Hello All, In the below script i am trying to check and list the file names, get the last file with highest version number and then increment the version number when i create another file. Example: file1 is COBANK_v1.xml and file2 i want to put it as COBANK_v2.xml, to achieve this i am using awk... (15 Replies)
Discussion started by: Ariean
15 Replies

6. Shell Programming and Scripting

Number of arguments to array - Perl Script

I have the following proc. proc get_add {arg1 arg2 arg3 arg4 arg 5 .. ... arg N } { } i need to count the number of arguments and also i need those arguments stored in an array. please help out ---------- Post updated at 06:33 PM ---------- Previous update was at 05:30 PM ---------- ... (1 Reply)
Discussion started by: Syed Imran
1 Replies

7. Shell Programming and Scripting

Incrementing number in bash

I have the following code and getting the error ./raytrac.bash: line 231: ((: 0++: syntax error: operand expected (error token is "+") iarg = 0 iarg=0 narg=$# # Number of arguments passed. echo "narg = $narg" argsArr=("$@") # Set... (1 Reply)
Discussion started by: kristinu
1 Replies

8. Shell Programming and Scripting

PERL : Read an array and write to another array with intial string pattern checks

I have an array and two variables as below, I need to check if $datevar is present in $filename. If so, i need to replace $filename with the values in the array. I need the output inside an ARRAY How can this be done. Any help will be appreciated. Thanks in advance. (2 Replies)
Discussion started by: irudayaraj
2 Replies

9. Shell Programming and Scripting

Array in Perl - Detect several file to be in one array

Hi everyone I have one question about using array in perl. let say I have several log file in one folder.. example test1.log test2.log test3.log and the list goes on.. how to make an array for this file? It suppose to detect log file in the current directory and all the log file will... (3 Replies)
Discussion started by: sayachop
3 Replies

10. Shell Programming and Scripting

perl, put one array into many array when field is equal to sth

Hi Everyone, #!/usr/bin/perl use strict; use warnings; my @test=("a;b;qqq;c;d","a;b;ggg;c;d","a;b;qqq;c;d"); would like to split the @test array into two array: @test1=(("a;b;qqq;c;d","a;b;qqq;c;d"); and @test2=("a;b;ggg;c;d"); means search for 3rd filed. Thanks find the... (0 Replies)
Discussion started by: jimmy_y
0 Replies
Login or Register to Ask a Question