perl

How can Perl's XML::Simple ignore HTML embedded in XML?

I have an XML file that I am pulling from the web and parsing. One of the items in the XML is a 'content' value that has HTML. I am using XML::Simple::XMLin to parse the file like so: $xml= eval { $data->XMLin($xmldata, forcearray => 1, suppressempty=> +'') }; When I use Data::Dumper to dump the hash, I discovered that SimpleXML is pa...

How do I tell mod_perl2 to find my Perl modules?

I just installed my system with Oracle 64-bit Linux5.4 running Apache Server version: Apache/2.2.3 and mod_perl 2. Now, I have my Perl libraries set in a specific path: /my/perl/libs and I have adjusted my httpd.conf to compensate for this (I added the below): SetEnv MY_LIBS /my/perl/libs and in my CGI programs I'm setting my envi...

How can I convert a string like 3 10^-20 into a number in Perl?

I have a file that contain list of numbers that looks like this: 10^-92 2 10^-14 10^-105 3 10^-20 To explain a bit further 10^-92 is essentially 1E-92 and 2 10^-14 is 2E^-14. Is there a compact way to convert the number in above file into Perl number? At the end I want to sort these numbers numerically. ...

What's wrong with this Perl regular expression?

I have a lines like this NF419andZNF773 (e=10^-92,). ZNF571 (e=2 10^-14,) What's the regex for extracting the results above so that it gives NF419andZNF773 - 10^-92 ZNF571 - 2 10^-14 I tried this but fail. $line =~ /(\w+)\s\(e=\s(.*),\)/; print "$1 - $2\n"; ...

How does this Perl grep work to determine the union of several hashes?

I don't understand the last line of this function from Programming Perl 3e. Here's how you might write a function that does a kind of set intersection by returning a list of keys occurring in all the hashes passed to it: @common = inter( \%foo, \%bar, \%joe ); sub inter { my %seen; for my $href (@_) { while (my $k = eac...

How can I line up columns with Perl's printf when the value might be a number or a string?

I am trying to output a document that looks like this (more at http://pastebin.com/dpBAY8Sb): 10.1.1.1 100 <unknown> <unknown> <unknown> <unknown> <unknown> 72.12.148.186 94 Canada Hamilton ON 43.250000 -79.833300 0.00 ...

Why am I getting a segmentation fault when I use binmode with threads in Perl?

Hi Folks, this call my $th = threads->create(\&print, "Hello thread World!\n"); $th->join(); works fine. But as soon as I add binmode(STDOUT, ":encoding(ISO-8859-1)"); to my script file, I get an error like "segmentation fault", "access denied". What is wrong to define an encoding type when trying to call a perl thread? Example:...

How can I allow a literal dot in a Perl regular expression?

I use this condition to check if the value is alphanumeric values: $value =~ /^[a-zA-Z0-9]+$/ How can I modify this regex to account for a possible dot . in the value without accepting any other special characters? ...

How to Loop & rename MySQL table in Perl

Hi, Could you plesae teach me how to Loop & rename MySQL table in Perl. Thanks. my code snippet attached use strict; use warnings; use DBI; my $dbh = DBI->connect( 'DBI:mysql:database=dbdev;host=localhost', 'dbdev', 'dbdevpw', { RaiseError => 1, AutoCommit => 1 }, ); my $sql = RENAME TABLE old_table TO new_ta...

How can I concatenate corresponding lines in two files in Perl?

file1.txt hello tom well file2.txt world jerry done How to merge file1.txt with file2.txt; then create a new file - file3.txt hello world tom jerry well done thank you for reading and reply. Attached the completed code which based on the answer. #!/usr/bin/perl use strict; use warnings; open(F1,"<","1.txt") or die "Cannot op...

Running job in the background from Perl WITHOUT waiting for return

The Disclaimer First of all, I know this question (or close variations) have been asked a thousand times. I really spent a few hours looking in the obvious and the not-so-obvious places, but there may be something small I'm missing. The Context Let me define the problem more clearly: I'm writing a newsletter app in which I want the ac...

How can I check if an object has a specific method?

I want to use a method of an object. Like $myObject->helloWorld(). However there are a couple of methods so I loop through an array of method names and call the method like this: my $methodName ="helloWorld"; $myObject->$methodNames; This works quite nice but some objects don't have all methods. How can I tell whether $myObject has ...

How can I use a Perl hash key that has a literal dot?

I have a hash in Perl which has been dumped into from some legacy code the name of the key has now changed from simply reqHdrs to reqHdrs.bla $rec->{reqHdrs.bla} My problem is now I cant seem to access this field from the hash any ideas? The following is my error Download Script Output: Bareword "reqHdrs" not allowed while "strict su...

How can I use a variable as a module name in Perl?

I know it is possible to use a variable as a variable name for package variables in Perl. I would like to use the contents of a variable as a module name. For instance: package Foo; our @names =("blah1", "blah2"); 1; And in another file I want to be able be able to set the contents of a scalar to "foo" and then access the names arra...

How can I asynchronously monitor a file in Perl?

I am wondering if it is possible, and if so how, one could create a perl script that constantly monitors a file/db, and then call a subroutine to perform text processing if the file is changed. I'm pretty sure this would be possible using sockets, but this needs to be used for a webchat application on a site running on a shared host, and...

How can I start a TCP server in the background during a Perl unit test?

I am trying to write a unit test for a client server application. To test the client, in my unit test, I want to first start my tcp server (which itself is another perl file). I tried to start the TCP server by forking: if (! fork()) { system ("$^X server.pl") == 0 or die "couldn't start server" } So when I call make test after pe...

Pipeline For Downloading and Processing Files In Unix/Linux Environment With Perl

I have a list of files URLS where I want to download them: http://somedomain.com/foo1.gz http://somedomain.com/foo2.gz http://somedomain.com/foo3.gz What I want to do is the following for each file: Download foo1,2.. in parallel with wget and nohup. Every time it completes download process them with myscript.sh What I have is this...

How can I read and parse chunks of data into a Perl hash of arrays?

I have data that looks like this: #info #info2 1:SRX004541 Submitter: UT-MGS, UT-MGS Study: Glossina morsitans transcript sequencing project(SRP000741) Sample: Glossina morsitans(SRS002835) Instrument: Illumina Genome Analyzer Total: 1 run, 8.3M spots, 299.9M bases Run #1: SRR016086, 8330172 spots, 299886192 bases 2:SRX004540 Submitte...

Why does Perl complain about "Unsuccessful stat on filename containing newline"?

Hello, I am getting an error I do not understand. I am using File:Find to recurse a fylesystem on Windows using Activestate Perl 5.8.8 and trying to stat $File::Find::name; so I am not stat-ing a filename got from a text file scanning requiring chomp-ing or newline removing. I was unable to get file modification time, the mtime in: my (...

How do I delete the first line in a file?

I can't search for a particular string, since they're all very similar, but I'd like something simple to chop out the first 4 lines in a file. They're all variable length too. I've had a a think about perl, and it all seems harder than I thought, but I'd like to do it in Perl, AWK or a shell command if possible. Does anybody have a si...