What you describe could be easily achieved with the following code, try to see if it's faster.
Code:
#! /usr/bin/env perl
use warnings;
use strict;
my %f1;
die "usage: $0 <file1> <file2>\n" unless @ARGV == 2;
my ( $f1, $f2 ) = @ARGV;
open my $F1, '<', $f1 or die "open $f1: $!\n";
$f1{ (split)[0] } = undef while <$F1>;
close $F1 or warn "close $f1: $!\n";
open my $F2, '<', $f2 or die "open $f2: $!\n";
while (<$F2>) {
my @fields = split ',';
grep $fields[4] =~ /^$_/, keys %f1 and print $fields[-1];
}
close $F2 or warn "close $f2: $!\n";
how can I find cpu usage memory usage swap usage and
I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times
my final destination is monitor process
logical volume usage above X % and number of Logical voluage above
can I not to... (3 Replies)
Hi Friends, I have a tuff time with regular expressionss. Please let me know how to make this happen as it consumed lots of my time but in vain. Here is the sample text file i need to match for. I need to search for pattern1 removed, if it matches then search for pattern types either SE\ or... (2 Replies)
using perl
Hi All, i was wondering if anyone can solve how to extract the full tag from the xml line ie not sure what to put in the m// to get the string
"/data/TOP471//context_data/instruments.txt"
I basically want the above filename in a variable for further processing...
$_ =" ... (0 Replies)
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)
Hi,
I am trying to write a script which parses a log file and will eventually put the values in an array so that I can perform some math on it. In this file I am only interested in the last 200 lines so here is the command I use to display the contents in a manageable manner.
tail -200... (3 Replies)
Hi Experts,
I am executing multiple instances(in parallel) of perl script on HP-UX box.
OS is allocating substantial amount of CPU to these perl processes,resulting higher cpu utilization.
Glance always shows perl processes are occupying majority of the CPU resource. It is causing slower... (2 Replies)
Hi all,
i have a peice of Perl script like this:
foreach (@line) {
@tmp = split /;/,$_;
#print "Line is: $_\n";
switch($tmp){
case m/p60/i {
push @p60, , $tmp ];
... (7 Replies)
Help needed urgently please.
I have a large file - a few hundred thousand lines.
Sample
CP START ACCOUNT
1234556
name 1
CP END ACCOUNT
CP START ACCOUNT
2224444
name 1
CP END ACCOUNT
CP START ACCOUNT
333344444
name 1
CP END ACCOUNT
I need to split this file each time "CP START... (7 Replies)
This basic code works.
I have a very long list, almost 10000 lines that I am building into the array. Each line has either 2 or 3 fields as shown in the code snippit. The array elements are static (for a few reasons that out of scope of this question) the list has to be "built in".
It... (5 Replies)
Discussion started by: sumguy
5 Replies
LEARN ABOUT DEBIAN
acme::brainfuck
Acme::Brainfuck(3) User Contributed Perl Documentation Acme::Brainfuck(3)NAME
Acme::Brainfuck - Embed Brainfuck in your perl code
SYNOPSIS
#!/usr/bin/env perl
use Acme::Brainfuck;
print 'Hello world!', chr ++++++++++. ;
DESCRIPTION
Brainfuck is about the tiniest Turing-complete programming language you can get. A language is Turing-complete if it can model the opera-
tions of a Turing machine--an abstract model of a computer defined by the British mathematician Alan Turing in 1936. A Turing machine con-
sists only of an endless sequence of memory cells and a pointer to one particular memory cell. Yet it is theoretically capable of perform-
ing any computation. With this module, you can embed Brainfuck instructions delimited by whitespace into your perl code. It will be trans-
lated into Perl as parsed. Brainfuck has just just 8 instructions (well more in this implementation, see "Extensions to ANSI Brainfuck"
below.) which are as follows
Instructions
+ Increment
Increase the value of the current memory cell by one.
- Decrement
Decrease the value of the current memory cell by one.
> Forward
Move the pointer to the next memory cell.
< Back
Move the pointer to the previous memory cell.
, Input
Read a byte from Standard Input and store it in the current memory cell.
. Output
Write the value of the current memory cell to standard output.
[ Loop
If the value of the current memory cell is 0, continue to the cell after the next ']'.
] Next
Go back to the last previous '['.
Extensions to ANSI Brainfuck
This implementation has extra instructions available. In order to avoid such terrible bloat, they are only available if you use the ver-
bose pragma like so:
use Acme::Brainfuck qw/verbose/;
The extra instructions are:
~ Reset
Resets the pointer to the first memory cell and clear all memory cells.
# Peek
Prints the values of the memory pointer and the current memory cell to STDERR. See also "Debugging" below.
Debugging
By using the debug pragma like this:
use Acme::Brainfuck qw/debug/;
you can dump out the generated perl code. (Caution: it is not pretty.) The key to understanding it is that the memory pointer is repre-
sented by $p, and the memory array by @m Therefore the value of the current memory cell is $m[$p].
RETURN VALUE
Each sequence of Brainfuck instructions becomes a Perl block and returns the value of the current memory cell.
EXAMPLES
JABH
#!/usr/bin/env perl
use Acme::Brainfuck;
print "Just another ";
++++++[>++++++++++++++++<-]>
++.--
>+++[<++++++>-]<.>[-]+++[<------>-]<
+.-
+++++++++.---------
++++++++++++++.--------------
++++++.------
>+++[<+++++++>-]<.>[-]+++[<------->-]<
+++.---
+++++++++++.-----------
print " hacker.
";
Countdown
#!/usr/bin/env perl
use strict;
use Acme::Brainfuck qw/verbose/;
print "Countdown commencing...
";
++++++++++[>+>+<<-]
>>+++++++++++++++++++++++++++++++++++++++++++++++<<
++++++++++[>>.-<.<-]
print "We have liftoff!
";
Reverse
#!/usr/bin/env perl
use Acme::Brainfuck qw/verbose/;
while(1)
{
print "Say something to Backwards Man and then press enter: ";
+[->,----------]<
print 'Backwards Man says, "';
[+++++++++++.<]<
print "" to you too.
";
~
}
Math
#!/usr/bin/env perl
use Acme::Brainfuck;
use strict;
use warnings;
my $answer = +++[>++++++<-]> ;
print "3 * 6 = $answer
";
VERSION
1.1.1 Apr 06, 2004
AUTHOR
Jaldhar H. Vyas E<lt>jaldhar@braincells.comE<gt>
THANKS
Urban Mueller - The inventor of Brainfuck.
Damian Conway - For twisting perl to hitherto unimaginable heights of weirdness.
Marco Nippula <http://www.hut.fi/~mnippula/> - Some code in this module comes from his brainfuck.pl
Mr. Rock - Who has a nice Brainfuck tutorial at <http://www.cydathria.com/bf/>. Some of the example code comes from there.
COPYRIGHT AND LICENSE
Copyright (c) 2004, Consolidated Braincells Inc.
Licensed with no warranties under the Crowley Public License:
"Do what thou wilt shall be the whole of the license."
perl v5.8.3 2004-04-06 Acme::Brainfuck(3)