perl

Problem storing a hash in DB using Storable::nfreeze in Perl

I want to insert a hash in the db using Storable::nfreeze but the data is not inserted properly. My code is as follows: %rec=(); $rec{'name'} = 'my name'; $rec{'address'} = 'my address'; my $order1 = new Order(); $order1->set_session(\%rec); $self->createOrder($order1); sub createOrder { my $self = $_[0]; my $order = $_[1]; # Retr...

Should Perl's opendir always return . and .. first?

opendir MYDIR, "$dir"; my @FILES = readdir MYDIR; closedir MYDIR; It appears that 99.9 % of the time the first two entries in the array are always “.” and “..”. Later logic in the script has issues if it is not true. I ran into a case where the directory entries appeared later. Is this indicative of the file system being cor...

How can I generate all possible permutations from a Perl regular expression?

I know you can generate all permutations from a list, using glob or Algorithm::Permute for example - but how do you generate all possible permutations from a regular expression? I want to do like: @perms = permute( "/\s[A-Z][0-9][0-9]/" ); sub permute( $regex ) { # code - put all permutations of above regex in a list return @l...

How do I use Perl's WWW::Facebook::API to publish to a user's newsfeed?

We use Facebook Connect on our site in conjunction with the WWW::Facebook::API CPAN module to publish to our users newsfeed when requested by the user. So far we've been able to successfully update the user's status using the following code: use WWW::Facebook::API; my $facebook = WWW::Facebook::API->new( desktop => 0, api_key =...

How can I use Perl to grab text from a web page that is dynamically generated with JavaScript?

There is a website I am trying to pull information from in Perl, however the section of the page I need is being generated using javascript so all you see in the source is: <div id="results"></div> I need to somehow pull out the contents of that div and save it to a file using Perl/proxies/whatever. e.g. the information I want to save...

How can I access a specific range of bytes in a file using Perl?

What is the most convenient way to extract a specified byte range of a file on disk into a variable? ...

How can I dereference a hashref constant?

Let's say I have a hashref constant like the following: use constant DOGS => { Lassie => 'collie', Benji => 'mutt', Scooby => 'great dane', Goofy => '???' }; How can I dereference it properly to get say.. they keys out of it? warn ref DOGS; # HASH at untitled line 12. warn keys( %{DOGS} ); # Warning: something's wro...

How can I get Perl to detect bad UTF-8 sequences?

I'm running Perl 5.10.0 and Postgres 8.4.3, and strings into a database, which is behind a DBIx::Class. These strings should be in UTF-8, and therefore my database is running in UTF-8. Unfortunatly some of these strings are bad, containing malformed UTF-8, so when I run it I'm getting an exception DBI Exception: DBD::Pg::st execute fai...

How can I get the last modified time of a directory in Perl on Windows?

In Perl (on Windows) how do I determine the last modified time of a directory? Note: opendir my($dirHandle), "$path"; my $modtime = (stat($dirHandle))[9]; results in the following error: The dirfd function is unimplemented at scriptName.pl line lineNumber. ...

How can I convert a bunch of files from ISO-8859-1 to UTF-8 using Perl?

I have several documents I need to convert from ISO-8859-1 to UTF-8 (without the BOM of course). This is the issue though. I have so many of these documents (it is actually a mix of documents, some UTF-8 and some ISO-8859-1) that I need an automated way of converting them. Unfortunately I only have ActivePerl installed and don't know muc...

How can I delete a file created and opened with Perl's IO::File and XML::Writer?

So I'm running through a list of things and have code that creates an .xml files with IO::File called $doc, then I make a new writer with XML::Writer(OUTPUT => $doc). More code runs and I build a big XML file with XML::Writer. Then, near the end of the file, I find out if I need this file at all. If I do need it, I just: $writer->end()...

Why does my regex fail when the number ends in 0?

This is a really basic regex question but since I can't seem to figure out why the match is failing in certain circumstances I figured I'd post it to see if anyone else can point out what I'm missing. I'm trying to pull out the 2 sets of digits from strings of the form: 12309123098_102938120938120938 1321312_103810312032123 123123123_1...

Reading another packages symbol table in Perl

I am trying to read a global symbol from another package. I have the package name as a string. I am using qualify_to_ref from Symbol module my $ref = qualify_to_ref ( 'myarray', 'Mypackage' ) ; my @array = @$ref ; gives me Not an ARRAY reference at ...... I presume I am getting the format of the dereference wrong. Here is ...

what would be the c# equivalent of this code snippet?

I don't really understand Perl, so I was wondering if someone could give me a hint about what it is this code is asking of STDIN, and how to say this in C#. Thanks. $TMPFILE = "xxx.tmp"; if (! -f STDIN) { open TMPFILE, "> $TMPFILE" or die "Couldn't open `$TMPFILE' for writing: $!; aborting"; print TMPFILE while <STDIN>; close ...

How can I manually interpolate string escapes in a Perl string?

In perl suppose I have a string like 'hello\tworld\n', and what I want is: 'hello world ' That is, "hello", then a literal tab character, then "world", then a literal newline. Or equivalently, "hello\tworld\n" (note the double quotes). In other words, is there a function for taking a string with escape sequences and returning an eq...

How can I pipe input to a Java app with Perl?

I need to write a Perl script that pipes input into a Java program. This is related to this, but that didn't help me. My issue is that the Java app doesn't get the print statements until I close the handle. What I found online was that $| needs to be set to something greater than 0, in which case newline characters will flush the buff...

Perl file test operator help

This is a really basic issue, but I'm new to perl and cannot work out what the issue is. I'm just trying to isolate the files in a directory, but the -d operator keeps treating all the folder contents as files ... @contents is my array, and when I run this: use strict; if ($ARGV[1]) { die("Error: You can only monitor one director...

perl hashes - comparing keys and values

I've been reading over the perl doc, but I can't quite get my head around hashes. I'm trying to find if a hash key exists, and if so, compare its value. The thing that is confusing me is that my searches say that you find if a key exists by if (exists $files{$key}), but that $files{$key} also gives the value? the code I'm working on is: ...

Is there a Perl equivlant module to pydbg module?

Could someone suggest a Perl module equivlant/or has the most funcionality of the pydbg module on Python? ...

In Perl, can I call a method before executing every function in a package?

I am writing a module and I want a specific piece of code to be executed before each of the functions in it. How do I do that? Is there no other way than to just have a function-call at the beginning of every function? ...