PERL write to file help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting PERL write to file help
# 1  
Old 03-19-2010
PERL write to file help

Very new to perl and have an exististing script which I need to capture some variables to a log file. My below code works well, except the @cmds array has some %20 which I need replaced with a space and some <br> which needs a \n instead. I tried messing around with a foreach, but have failed.

Code:
my @cmds = split(/%0D/,param('newcommands'));
        open (CAPTURE, '>>tool.log');
        print CAPTURE "$time\n";
        print CAPTURE "$uid\n";
        print CAPTURE "@cmds\n\n";
        close (CAPTURE);

# 2  
Old 03-19-2010
Try:

Code:
@cmds = map { s/%20/ /g; s/<br>/\n/g; } @cmds;

right after the split...
# 3  
Old 03-19-2010
Thanks drewk, I tried your recommendation right after the split statement, but I do not get anything printed to file now for @cmds.
# 4  
Old 03-19-2010
Post some example data...
# 5  
Old 03-19-2010
Here is what the tool.log output looks like:
Code:
Fri Mar 19 17:01:40 2010
nm6885
config%20t <br>controller%20sonet%201/2 <br>shut <br>controller%20sonet%201/3 <br>shut <br>end

Here is what it looked like after I added the map statement:
Code:
Fri Mar 19 17:13:40 2010
nm6885

Code:
my @cmds = split(/%0D/,param('newcommands'));
@cmds = map { s/%20/ /g; s/<br>/\n/g; } @cmds;
        open (CAPTURE, '>>tool.log');
        print CAPTURE "$time\n";
        print CAPTURE "$uid\n";
        print CAPTURE "@cmds\n\n";
        close (CAPTURE);

# 6  
Old 03-19-2010
Shud be:

Code:
@cmds = map { s/%20/ /g; s/<br>/\n/g; $_; } @cmds;

So now:

Code:
#!/usr/bin/perl

$cmds[0]='config%20t <br>controller%20sonet%201/2 <br>shut <br>controller%20sonet%201/3 <br>shut <br>end';

@cmds=map { s/%20/ /g; s/<br>/\n/g; $_; } @cmds;

print "$cmds[0]";

=>
config t 
controller sonet 1/2 
shut 
controller sonet 1/3 
shut 
end

# 7  
Old 03-19-2010
Perfect! thank you very much.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read/write perl file

Hi I am trying to build a web form where it can take the input from the user and write it to a file. And when I will open that form again that for should read the file that was created at the 1st step and all the fields should auto populate from that file. I have 20 text fields in my form. I... (1 Reply)
Discussion started by: sauravrout
1 Replies

2. Shell Programming and Scripting

Need to search a particular String form a file a write to another file using perl script

I have file which contains a huge amount of data. I need to search the pattern Message id. When that pattern is matched I need to get abcdeff0-1g6g-91g3-1z2z-2mm605m90000 to another file. Kindly provide your input. File is like below Jan 11 04:05:10 linux100 |NOTICE... (2 Replies)
Discussion started by: Raysf
2 Replies

3. Shell Programming and Scripting

[Perl] Write to a file

Hai #!user/bin/perl -------- -------- print("$line.......\n"); ------- ------ I want to write inside $line into a file like run.log How i can pleasw tel me Thanks kiran (4 Replies)
Discussion started by: kiran425
4 Replies

4. Shell Programming and Scripting

Perl write and read on same file

Hi, I am trying to do a write operation followed by a read operation on the same file through Perl, expecting the output produced by read to contain the new lines added, as follows: #! /usr/bin/perl -w open FH, "+< testfile" or die "$@"; print FH "New content added\n"; while (my $line =... (1 Reply)
Discussion started by: royalibrahim
1 Replies

5. Shell Programming and Scripting

Perl extract number from file & write to file

I have 1 file that has elements as follows. Also the CVR(10) and the word "SAUCE" only appear once in the file so maybe a grep command would work? file1 CVR( 9) = 0.385E+05, ! VEHICLE CVR(10) = 0.246E+05, ! SAUCE CVR(11) = 0.162E+03, ! VEHICLE I need to extract the... (6 Replies)
Discussion started by: austinj
6 Replies

6. Programming

how to write a sub in Perl

hi, i am a really new to Perl. i have a following code that is working well. " i know this is really simple, but i cant figure out a way to do this. can someone help me please?:( (1 Reply)
Discussion started by: usustarr
1 Replies

7. Programming

How to write a new line to the end of the file in Perl?

i am very new to Perl. i am using Ubuntu. i have a string call $string that contains following words "new line". i also have a data file as follows. djfibjbet etitrbjijbtr rrge rgjierjegjeri jerijg kijij jijij i want to write my new line to my data file as follows. djfibjbet... (3 Replies)
Discussion started by: usustarr
3 Replies

8. Shell Programming and Scripting

Extract string from a file & write to a new file (Perl)

Hi, This is the first time playing around with perl and need some help. Assuming if i have a line of text that looks like this: Date/Time=Nov 18 17:12:11;Device Name=192.168.1.1;Device IP=192.168.1.1;Device Class=IDS;Source IP=155.212.212.111;Source Name=UNKNOWN;Source Port=1679... (3 Replies)
Discussion started by: LuckyGuy
3 Replies

9. Shell Programming and Scripting

perl read and write to conf file

Hi Everyone, There is a perl file: a.pl ============ #!/usr/bin/perl my $config_file = $ARGV; open CONFIG, "$config_file" or die "Program stopping, couldn't open the configuration file '$config_file'.\n"; my $config = join "", <CONFIG>; close CONFIG; eval $config; die "Couldn't... (1 Reply)
Discussion started by: jimmy_y
1 Replies

10. Shell Programming and Scripting

perl -write values in a file to @array in perl

Hi can anyone suggest me how to write a file containing values,... say 19 20 21 22 .. 40 to an array @array = (19, 20, ... 40) -- Thanks (27 Replies)
Discussion started by: meghana
27 Replies
Login or Register to Ask a Question