get a part from a $var in perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting get a part from a $var in perl
# 1  
Old 02-05-2008
get a part from a $var in perl

Hi,

I have a file which has list of files with some other info too.. say..

1/1/2008./to/path/filename1.:
...
...

something like that.. can anyone tell me how can i just open the file and read the contents and then cut just the filename1 and write it to an @array..

thanks
# 2  
Old 02-05-2008
Is this exactly how the lines of the file are?

1/1/2008./to/path/filename1.:

which part of that is the part you need to open and read the file?
# 3  
Old 02-06-2008
Here is my problem.. I have a file say .. test.lst .. Now i need to open the test.lst file which has contents which looks like ..

1/1/2008 00:00:00 /to/path/filename1:
1/1/2008 00:00:00 /to/path/filename2:
..
..

i need filename (filename1, filename2 ....) part in this line and store it in @array

Thanks
# 4  
Old 02-06-2008
See how well this works:

Code:
my @array;
open (FH, 'yourfile') or die "$!";
while(<FH>){
   chomp;
   tr/://d;
   push @array, (split("/"))[-1];
}
close FH;
print "$_\n" for @array;

If you get too much garbage in the array you will need to use some filtering to get only the lines with a filename in them.
# 5  
Old 02-06-2008
MySQL

Quote:
Originally Posted by KevinADC
See how well this works:

Code:
my @array;
open (FH, 'yourfile') or die "$!";
while(<FH>){
   chomp;
   tr/://d;
   push @array, (split("/"))[-1];
}
close FH;
print "$_\n" for @array;

If you get too much garbage in the array you will need to use some filtering to get only the lines with a filename in them.
yay!! it worked!.. thanks a lot .. really appreciate your replies on time..Smilie
# 6  
Old 02-06-2008
a small problem as i said the contents of the file looked like
1/1/2008 00:00:00 /to/path/filename1:
1/1/2008 00:00:00 /to/path/filename2:
..

but it has one more additional character .. this way

1/1/2008 00:00:00 /to/path/filename1: 0
1/1/2008 00:00:00 /to/path/filename2: 0
..

im getting the filenames as

filename1 0
filename2 0
...

can you tell me how to get rid of this??

Thanks
# 7  
Old 02-06-2008
try this instead:

Code:
my @array;
open (FH, 'yourfile') or die "$!";
while(<FH>){
   chomp;
   tr/://d;
   push @array, (split(/\s+/))[-2];
}
close FH;
print "$_\n" for @array;

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extracting some part of Perl's Expect Buffer

Hi, I am capturing command's output on remote host using Expect. The problem is that the command line arguments also getting print with the output in file and also need to print last two relevant columns (percentage used and its mounted point). The output of $exp->before() buffer is :df... (1 Reply)
Discussion started by: suneet17
1 Replies

2. Shell Programming and Scripting

Csh , how to set var value into new var, in short string concatenation

i try to find way to make string concatenation in csh ( sorry this is what i have ) so i found out i can't do : set string_buff = "" foreach line("`cat $source_dir/$f`") $string_buff = string_buff $line end how can i do string concatenation? (1 Reply)
Discussion started by: umen
1 Replies

3. Shell Programming and Scripting

PERL: split 2 part from singel file.

Hi, I would like to split single fine into two array .. Example: file.txt --------------Installation -------------------- #GXTOOL=GxTools-20130501.tar.gz GCSS=GExpLinux-BE-3700.0.12.37.tar.gz TOP=TOPLinux-BE-3700.0.6.21.tar.gz GHDER=GHDERLinux-BE-3700.0.6.20.tar.gz... (2 Replies)
Discussion started by: Mani_apr08
2 Replies

4. Shell Programming and Scripting

Passing PERL var values to SH Shell Script

Greetings all, If I have a SH script that calls a PERL script in the following way: perl $HOME/scripts/config.properties And in the config.properties PERL file, this Perl script only sets a number of environmental parameters in the following way: #!/usr/bin/perl $VAR1 = ( ... (3 Replies)
Discussion started by: gikyo12
3 Replies

5. Shell Programming and Scripting

checking co-presence of Var. - Shell or Perl

Hey fellas, I've posted this problem a few days back and I received just one post which was in PHP that I have no idea about! (Thanks to DGPickett) It would be so nice if you can help me with this in Shell or Perl. Here is the story: I have a big table with variables and observations. I... (9 Replies)
Discussion started by: @man
9 Replies

6. Solaris

Difference between /var/log/syslog and /var/adm/messages

Hi, Is the contents in /var/log/syslog and /var/adm/messages are same?? Regards (3 Replies)
Discussion started by: vks47
3 Replies

7. Shell Programming and Scripting

Perl command to replace path part of variable

I'm trying to replace path which is part of variable inside script file: FROM: ABC_HOME=$ABC_ROOT/abc/1.0 TO: ABC_HOME=$ABC_ROOT/abc/1.5 I'm using this: perl -pi -e 's\ABC_HOME=$ABC_ROOT/abc/1.0\ABC_HOME=$ABC_ROOT/abc/1.5\g' /apps/scripts/test.sh This command is not working because... (2 Replies)
Discussion started by: djanu
2 Replies

8. Shell Programming and Scripting

How to find the count and replace the particular part of string in perl?

Hi, I am taking the current time using localtime function in perl. For example if the time is: #Using localtime $time = "12:3:10"; I have to replace the value 3 (03) i.e second position to be 03. The output should be: 12:03:10 But if the other string for example: $str:... (1 Reply)
Discussion started by: vanitham
1 Replies

9. Solaris

diff b/w /var/log/syslog and /var/adm/messages

hi sirs can u tell the difference between /var/log/syslogs and /var/adm/messages in my working place i am having two servers. in one servers messages file is empty and syslog file is going on increasing.. and in another servers message file is going on increasing but syslog file is... (2 Replies)
Discussion started by: tv.praveenkumar
2 Replies

10. Programming

Perl get a part of a string

I need some help to divide an email address. I need to grab the left part of the @. Maybe substr? example: john.smith@domain.com.br I would need to grab just the username part... my $user = "john.smith@domain.com.br"; if($user =~ s/@/\@/){ print "EMAIL: " .$user; } (2 Replies)
Discussion started by: 4scriptmoni
2 Replies
Login or Register to Ask a Question